javascript - 向正则表达式添加条件

标签 javascript regex string replace

鉴于下面的 Javascript,我如何向子句添加条件?仅当空格尚不存在时,我才想在分隔符后添加“空格”字符。如果 spacedText 中已存在空格字符,则当前代码将导致双空格。

var separators = ['.', ',', '?', '!'];
for (var i = 0; i < separators.length; i++) { 
      var rg = new RegExp("\\" + separators[i], "g"); 
      spacedText = spacedText.replace(rg, separators[i] + " "); 
}

最佳答案

'. , ? ! .,?!foo'.replace(/([.,?!])(?! )/g, '$1 ');
//-> ". , ? ! . , ? ! foo"

表示替换每次出现的 .,?!后面没有一个空格及其自身和后面的空格。

关于javascript - 向正则表达式添加条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22165674/

相关文章:

ruby - 更改多个字符串、大写、小写等的一行代码?

javascript - 使用 foreach 通过 Ajax 和动态表单进行发布

javascript - 尽管隐藏了输入 DELETE,为什么我的表单仍然通过 POST 请求?

sql - PostgreSQL : Converting comma separated integer values and intervals to sequenced numbers

regex - 我必须如何声明 Perl 拆分的正则表达式?

PHP正则表达式。检查字符串是否只包含字母

python - 从字符串序列创建 Python lambda 函数

python - 以两个(或更多)其他变量为条件指定 `str` 的更优雅方式

javascript - fetch 解析 json 后返回 undefined

javascript - ES6规范中的 "BoundNames of formals"是什么意思