2

如果在括号之间,我如何使用 JS 正则表达式用单词 SPACE 替换所有出现的空格?所以,我想要的是这样的:

myString = "a scentence (another scentence between brackets)"
myReplacedString = myString.replace(/*some regex*/)
//myReplacedString is now "a scentence (anotherSPACEscentenceSPACEbetweenSPACEbrackets)"

编辑:我试过的是这个(我对正则表达式很陌生)

myReplacedString = myString.replace(/\(\s\)/, "SPACE");
4

2 回答 2

6

您也许可以使用正则表达式:

/\s(?![^)]*\()/g

这将匹配前面没有左括号的任何空格,空格和左括号之间没有右括号。

这是一个演示

编辑:我没有考虑句子不以括号结尾的情况。但是,@thg435 的正则表达式涵盖了它:

/\s(?![^)]*(\(|$))/g
于 2013-07-10T18:57:34.867 回答
3

I'm not sure about one regex, but you can use two. One to get the string inside the (), then another to replace ' ' with 'SPACE'.

myReplacedString = myString.replace(/(\(.*?\))/g, function(match){
    return match.replace(/ /g, 'SPACE');
});
于 2013-07-10T18:57:04.790 回答