我正在用 LPC (...) 编写一个字符串格式化函数,但精通 Javascript,所以任何一个的解决方案都很好,我遇到的问题是采用以下字符串例如:
~~~abc~~de~~~~~~~~~~~fgh~
并将每个 ~ 包装在一组字符中,例如 []。使用标准 replace_string() 方法,我当前的输出是:
[~][~][~]abc[~][~]de[~][~][~][~][~][~][~][~][~][~][~]fgh[~]
我的目标是输出:
[~~~]abc[~~]de[~~~~~~~~~~~]fgh[~]
我需要解决这个问题的原因是因为最大字符串长度限制,所以这实际上是我需要的优化,而不是一个很好的优化。
干杯d
使用捕获组 ( (...)
) 和反向引用 ( $1
)
'~~~abc~~de~~~~~~~~~~~fgh~'.replace(/(~+)/g, '[$1]')
// => "[~~~]abc[~~]de[~~~~~~~~~~~]fgh[~]"