我正在 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/