如果在括号之间,我如何使用JS正则表达式替换空格的所有出现? 所以,我想要的是:
myString = "a scentence (another scentence between brackets)"
myReplacedString = myString.replace(/*some regex*/)
//myReplacedString is now "a scentence (anotherSPACEscentenceSPACEbetweenSPACEbrackets)"
编辑: 我试过的是这个(我对正则表达式很新)
myReplacedString = myString.replace(/\(\s\)/, "SPACE");
答案 0 :(得分:4)
你也许可以使用正则表达式:
/\s(?![^)]*\()/g
这将匹配任何空间,前面没有开口支架,空间和开口支架之间没有关闭支架。
这是demo。
编辑:我没有考虑句子不以括号结尾的情况。然而,@ thg435的正则表达式涵盖了它:/\s(?![^)]*(\(|$))/g
答案 1 :(得分:3)
我不确定一个正则表达式,但你可以使用两个。一个用于获取()
内的字符串,另一个用' '
替换'SPACE'
。
myReplacedString = myString.replace(/(\(.*?\))/g, function(match){
return match.replace(/ /g, 'SPACE');
});