定義と使用法
replace() メソッドは、文字列内の一部の文字を他の文字に置き換えたり、正規表現に一致する部分文字列を置き換えたりするために使用されます。
[Ctrl+A ですべて選択 注: 外部 Js を導入する必要がある場合は、実行前に更新する必要があります]
[Ctrl+A ですべて選択 注: 外部 Js を導入する必要がある場合は、実行前に更新する必要があります]
ただし、正規表現に慣れている場合は、結果は変わりません。ちょっとした修正でOKです。
次のようにコードをコピーします。
<スクリプト言語="javascript">
var strM = "JavaScript は優れたスクリプト言語です";
// ここですべての文字 a を文字 A に置き換えます
alert(strM.replace(/a/g,"A"));
</script>
これを実行して効果を確認することもできます。
次のようにコードをコピーします。
<スクリプト言語="javascript">
var strM = "JavaScript は優れたスクリプト言語です";
alert(strM.replace(/(javascript)/s*(is)/g,"$1 $2 楽しいです。それは $2"));
</script>
ここで挙げた例は非常に単純なアプリケーションであり、この時点での replace() は正規表現の使用能力に直接比例します。正規表現が強力であればあるほど、あなたはその正規表現の虜になります。
もちろん、ここで replace() を推奨する理由は、正規表現と連携できるからではなく、関数と連携して強力な機能を発揮できるからです。
まず簡単な例を見てみましょう。すべての単語の最初の文字を大文字にします。
次のようにコードをコピーします。
<スクリプト言語="javascript">
var strM = "JavaScript は優れたスクリプト言語です";
機能変更(単語)
{
戻り word.indexOf(0).toUpperCase()+word.substring(1);
}
alert(strM.replace(//b/w+/b/g,change));
</script>
上記のことから、正規表現に「g」フラグがある場合、文字列全体が処理されること、つまり、変更関数の変換が一致するすべてのオブジェクトに適用されることを意味することがわかります。この関数には 3 つ以上のパラメータがあり、具体的な数は正規表現によって異なります。
関数と正規表現の連携により、 replace() の文字列処理機能がさらに強力になりました。
最後に、例として、 replace() を使用して文字列内のすべての単語を反転するのは非常に簡単です。
次のようにコードをコピーします。
<スクリプト言語="javascript">
var strM = "JavaScript は優れたスクリプト言語です";
機能変更(単語)
{
var result = word.match(/(/w)/g);
if(結果)
{
var str = "";
for (var i=result.length-1; i>=0; i--)
{
str += 結果;
文字列を返します。
}
それ以外
{
「null」を返します。
}
}
alert(strM.replace(//b(/w)+/b/g,change));
</script>