正規表現正規表現による文字列置換
- 正規表現による文字列置換〔repace()メソッド〕
正規表現による文字列置換
repace()メソッド
unknown
文字列.replace(パターン,置換文字列)
文字列中にパターンと一致する文字列があるかどうか調べます。 一致する文字列がある場合は、文字列を置換文字列で置換した文字列を返します。 一致する文字列がない場合は、文字列がそのまま返ります。
<script type="text/javascript">
/* 一致する文字列がない場合 */
var oldStr="Hello World!";
var newStr=oldStr.replace(/wooold/,"World");
document.write("置換前の文字列1="+oldStr+"<br \/>");
document.write("置換後の文字列1="+newStr+"<br \/>");
</script>
大文字・小文字も一致するか調べます。 大文字・小文字の一致を調べない場合には、パターンにフラグ「i」を指定します。
<script type="text/javascript">
var oldStr="Hello World!";
var newStr=oldStr.replace(/world/,"Japan");
document.write("置換前の文字列1="+oldStr+"<br \/>");
document.write("置換後の文字列1="+newStr+"<hr>");
var oldStr="Hello World!";
var newStr=oldStr.replace(/World/,"Japan");
document.write("置換前の文字列2="+oldStr+"<br \/>");
document.write("置換後の文字列2="+newStr+"<hr>");
/* フラグiを指定すると大文字小文字が一致するかは調べません */
var oldStr="Hello World!";
var newStr=oldStr.replace(/world/i,"Japan");
document.write("置換前の文字列3="+oldStr+"<br \/>");
document.write("置換後の文字列3="+newStr+"<br \/>");
</script>
パターンにフラグ「g」を指定すると、一致する文字列全てが置換されます。 それ以外の場合は、最初に見つかった一致する文字列のみが置換されます。
<script type="text/javascript"> /* globalサーチ:文字列中にある'a'を全て'A'に置換 */ var obj=RegExp(/a/g); var oldStr="I like an apple and a pineapple!"; var newStr=oldStr.replace(/a/g,'A'); document.write("置換前の文字列="+oldStr+"<br \/>"); document.write("置換後の文字列="+newStr+"<br \/>"); </script> <script type="text/javascript"> /* 文字列中の最初に見つかった'java'を'mysql'に置換 */ var oldStr="I study hard for java and javascript."; document.write("置換前の文字列="+oldStr+"<br \/>"); var newStr=oldStr.replace("java","mysql"); document.write("置換後の文字列="+newStr+"<br \/>"); </script>
また、フラグに「gi」の両方を指定すると、大文字小文字を区別せずに、一致する文字列全てを置換します。
<script type='text/javascript'> var oldStr="I Love JAPAN! My favorite is japanese food and japanese Sakura!! Sushi, Takoyaki etc... I want to go to Japanese Restrant!"; var newStr=oldStr.replace(/japan/gi,"日本"); document.write("置換前の文字列1="+oldStr+"<hr \/>"); document.write("置換後の文字列1="+newStr); </script>
replaceメソッドと$1~$9プロパティ
Stringクラスのreplaceメソッドと$1~$9プロパティを使って、高度な置換が可能。