如何有效地替换字符串中的字符,这可能会重复

时间:2013-10-16 11:48:36

标签: javascript regex string replace lpcstr

我正在LPC(...)中编写一个字符串格式化函数,但是我精通Javascript,所以任何一个解决方案都没问题,我遇到的问题是以下面的字符串为例:

~~~abc~~de~~~~~~~~~~~fgh~

将每个〜包裹在一组字符中,例如[]。我使用标准的replace_string()方法输出的当前输出是:

[~][~][~]abc[~][~]de[~][~][~][~][~][~][~][~][~][~][~]fgh[~]

我的目标是输出:

[~~~]abc[~~]de[~~~~~~~~~~~]fgh[~]

我需要解决这个问题的原因是因为最大字符串长度限制,所以它实际上是我需要的优化,而不是一个很好的优化。

欢呼声, d

1 个答案:

答案 0 :(得分:2)

使用捕获组((...))和反向引用($1

'~~~abc~~de~~~~~~~~~~~fgh~'.replace(/(~+)/g, '[$1]')
// => "[~~~]abc[~~]de[~~~~~~~~~~~]fgh[~]"