有一些字符串
"string numbe1 fdsf gfdgfdgf (value1)"
"string numbe2 fdsf gfdgfdgf (value2)"
"string numbe3 fdsf gfdgfdgf (value3)"
"string numbe5 fdsf gfdgfdgf (value1)"
"string numbe5 fdsf gfdgfdgf (value2)"
(valueN)
可以是(value1)
或(value2)
或(value3)
。我需要使用javascript正则表达式从原始字符串中删除它。所以newString必须是string numbe1 fdsf gfdgfdgf
这就是我做的事情(哪些不能按我的意愿运作)
var newString = originalString.replace(/(value1)|(value2)|(value3)/g,"") ;
返回"1 ()"
。
我该如何解决?
答案 0 :(得分:1)
您需要转义括号,并且在.
replace
"string numbe5 fdsf gfdgfdgf (value2)".replace(/\(value[1-3]\)/, '')
答案 1 :(得分:0)
尝试使用
var newString = originalString.replace(/\(value\d\)/g,"") ;
答案 2 :(得分:0)
尝试以下方法:
> var s = "string numbe1 fdsf gfdgfdgf (value1)";
> s.replace(/^(.*) \(value[1-3]\)$/, '$1');
"string numbe1 fdsf gfdgfdgf"
答案 3 :(得分:0)
我会使用这个正则表达式:
"string numbe5 fdsf gfdgfdgf (value2)".replace(/ \(value[123]\)/, '')
答案 4 :(得分:0)
不完全可扩展,但如果您的字符串格式始终相同,那么您可以这样做:
var str = "string numbe1 fdsf gfdgfdgf (value1)";
str = str.slice(0, str.length-8));
答案 5 :(得分:0)
代码中有错误,请使用下面给出的代码
<script>
function myFunction()
{
var str="string numbe1 fdsf gfdgfdgf (value2)";
var n=str.replace(/(\(value1\)|\(value2\)|\(value3\))/g," ");
alert(n);
}
</script>