PR

JavaScriptでreplaceallのような一括置換を動的にする方法

JavaScript Chorme
JavaScript

JavaScript内で文字列の置換を行う際に変換対象の文字列が固定の場合良いですが、動的に変化する場合変数を使用する必要があります。
また置換したい場所が複数ある場合などは正規表現での置換が必要となります。
その場合の文字列置換の方法について正規表現での置換であるRegExpの使い方を共有したいと思います。

RegExpで文字列動的置換デモはこちら

文字列内のAとCを文字列内から削除するプログラムです。
AとCをそれぞれ文字列中からすべて空文字に変換する場合を考えます。

str.replace("A", "");
str.replace("C", "");

としたいところですが、複数回出現する文字の最初の文字しか置換されません。
そこでRegExpを使って置換してみます。

<script>
var str = "ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG";
console.log("変換前:" + str);
var rep = ["A", "C"];
for (var i = 0; i < rep.length; i++) {
    var regObje = new RegExp("\\" + rep[i], "g");
    str = str.replace(regObje, "");
}
console.log("変換後:" + str);
</script>

RegExpで文字列動的置換デモはこちら

タイトルとURLをコピーしました