読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

replace

正規表現

なんという事でしょう。
replaceを使って置換する事が出来るし、パターンもPerlぽく書く事が出来るのです。
さらにここでは後方参照を使っております。

var str = '「正規表現」は文字列を「パターン」で表して検索/置換する手法です。「正規表現」を使うと、文字列を柔軟に処理することができます。';
console.log(str.replace(/「(.*?)」/g, '『$1』'));
console.log(str.replace(/「(.*?)」/m, '『$1』'));
『正規表現』は文字列を『パターン』で表して検索/置換する手法です。『正規表現』を使うと、文字列を柔軟に処理することができます。(フラグgを使った場合)
『正規表現』は文字列を「パターン」で表して検索/置換する手法です。「正規表現」を使うと、文字列を柔軟に処理することができます。(フラグmを使った場合)

なお、replaceの第二引数は関数にする事も出来る。

var str2 = '昭和60年から平成10年';
console.log(str2.replace(/(昭和|平成)(\d+)年/g, convToAD));

function convToAD(all, n, y) {
    if (n == '昭和') {
        return all + '(' + (Number(y) + 1925) + '年)';
    }
    else if (n == '平成') {
        return all + '(' + (Number(y) + 1988) + '年)';
    }
}

結果

昭和60年(1985年)から平成10年(1998年)

第二引数はconvToADという関数だが、ここで関数の引数を書く必要はない。
JavaScriptのreplaceの引数としてfunctionを使用する - hogehoge foobar Blog Style5
javascriptのreplaceにfunctionを渡す - Webtech Walker
第一引数がマッチした文字列全体
第二引数以降は、グルーピングした文字列が順番に出てくる。