替换一个单词(仅在空格或任何标点符号后)

时间:2014-03-22 22:39:00

标签: javascript regex

替换"字"只有在它之后有空格或标点符号时。

var s = 'a b word word. word, wordword word';
var re = new RegExp( '\\b(word)\\b ','gi');

s = s.replace(re, 'WORD ');

// current output
// "a b WORD word. word, wordword word"

// wanted:
// "a b WORD WORD. WORD, wordword word"

1 个答案:

答案 0 :(得分:0)

您可以使用前瞻:

s.replace(/\bword(?=[.,;\-:\s])/gi, 'WORD')
# => "a b WORD WORD. WORD, wordword word"

可能会添加更多标点符号。或者,您可以使用\b,但明确排除字符串特殊字符的结尾。请注意,这基本上是你的初始正则表达式,只是删除了空格(我假设这是一些错误?)

s.replace(/\bword\b(?!$)/gi, 'WORD')