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);
}
/
正则表达式界定符号。 - cdhowie