以下を再利用可能にしたいとします。
function replace_foo(target, replacement) {
return target.replace("string_to_replace",replacement);
}
私はこのようなことをするかもしれません:
function replace_foo(target, string_to_replace, replacement) {
return target.replace(string_to_replace,replacement);
}
文字列リテラルを使用すると、これは簡単です。しかし、正規表現でもう少しトリッキーにしたい場合はどうなりますか?例えば、私はすべてを交換したいと言うけど string_to_replace
。本能的に私は次のようなことをすることで上記を拡張しようとします:
function replace_foo(target, string_to_replace, replacement) {
return target.replace(/^string_to_replace/,replacement);
}
これは機能していないようです。私の推測でstring_to_replace
は、文字列を表す変数ではなく、文字列リテラルであると考えています。文字列変数を使用してその場でJavaScript正規表現を作成することは可能ですか?このような何かは、可能であれば素晴らしいでしょう:
function replace_foo(target, string_to_replace, replacement) {
var regex = "/^" + string_to_replace + "/";
return target.replace(regex,replacement);
}
/
このフォームを使用する場合も、正規表現の区切り文字を省略します。