javascript - 如何有效地替换字符串中可能重复的字符

标签 javascript regex string replace lpcstr

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

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

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

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

我的目标是输出:

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

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

干杯, d

最佳答案

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

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

关于javascript - 如何有效地替换字符串中可能重复的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19402591/

相关文章:

javascript - 如何使用 Jison 生成处理语法歧义的解析器?

javascript等待子窗口中​​的新页面加载

javascript - 创建包含具有所有值的相同字母的所有键的映射

python - 得到错误的结果 NLTK 和 REGEX

java - 创建字符串时执行加法

c++ - 无法将字符串传递给 CreateThread 接收器

javascript - 带有 IE(用于延迟加载)问题的脚本 onload/onerror

regex - Boost regex用于解析字符串中的键/值对

regex - 管道连接到 grep 并使用正则表达式

android - strings.xml 中的百分比符号