替换空格,但不替换括号之间的空格
Replace spaces but not when between parentheses
我想我可以用多个正则表达式相当容易地做到这一点,但我想替换字符串中的所有空格,但不是当这些空格在括号之间时。
例如:Here is a string (that I want to) replace spaces in.
在正则表达式之后,我希望字符串是
Hereisastring(that I want to)replacespacesin.
是否有一种简单的方法可以使用向前看或向后看操作符来做到这一点?
我对它们是如何工作的有点困惑,不确定它们是否能在这种情况下工作。
试试这个:
replace(/'s+(?=[^()]*('(|$))/g, '')
快速解释:
's+ # one or more white-space chars
(?= # start positive look ahead
[^()]* # zero or more chars other than '(' and ')'
( # start group 1
'( # a '('
| # OR
$ # the end of input
) # end group 1
) # end positive look ahead
简单地说:如果(
或输入结束符可以在前面看到而没有遇到任何括号,则匹配一个或多个空白字符。
在线Ideone演示:http://ideone.com/jaljw
如果:
- 有嵌套括号
- 括号可以转义
相关文章:
- 我如何找到一个句子中的所有空格并替换忽略它们
- 用空格替换下划线PHP
- 用空格替换+
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- 用空格替换单引号和其他符号
- Ajax 用 + 替换空格
- 字符串替换正则表达式,开头为空格
- 如何用空格替换下划线
- 根据javascript中的逗号索引替换空格
- JavaScript:在 XMLSerializer 错误地解析实体后,用 html 160 实体替换三个空格
- 使用简单的角度滤波器来替换输入字符串中某些字符串的所有出现,而不考虑大小写和空格
- 在搜索表单中,替换空格或仅使用正则表达式的隐词和数字
- 在javascript中用正则表达式替换空格
- Javascript 如果字符串包含空格,则用破折号替换空格
- 用正则表达式替换空格,而不替换空的 HTML 标记
- 这个JavaScript正则表达式是否替换空格
- 替换空格javascript
- 替换空格,但不替换括号之间的空格
- 内容替换功能:用下划线替换空格
- 用随机值替换空格