我有一个字符串,我正试图找出更好的方法 替换(边界空间,如果它们存在)
同时也没有替换值
做多次通过(即调用,trim_multispace
和trimed_result
)。
var replaceVal = "c";
var strVals = "a b c d e f g h";
var replacedVal = strVals.replace(new RegExp("\\b"+replaceVal+"\\b",""),"");
alert(replacedVal)
var trim_multispace = replacedVal.replace(/ +(?= )/g,'');
var trimed_result = trim_multispace.replace(/^\s+|\s+$/g, '');
alert(trimed_result)
答案 0 :(得分:2)
我不确定我是否正确使用了你,但是这个正则表达式按照你指定的方式工作
strVals.replace(new RegExp(replaceVal, 'g'), '')
.replace(/ +/g, ' ').replace(/^\s+|\s+$/g, '');
答案 1 :(得分:1)
以下几乎只需一步,首先用一个空格替换值和任何周围的空格,然后修剪结果:
var replacedVal = strVals.replace(new RegExp("\\s*"+replaceVal+"\\s*", ""), " ").trim();