我想替换字符串的某些索引,例如:
“123456789”我希望第 2 个和第 8 个索引相互替换。
所以结果将是“129456783”。我怎样才能做到这一点?
编辑 :
感谢回答,我找到了我的解决方案,我写在这里以防万一有人需要它。
var str = "123456789";
var res = str.replace(/(\d{2})(\d{1})(\d{5})(\d{1})/g, "$1$4$3$2");
这应该可以解决问题!
使用捕获组和反向引用。
正则表达式:
(..)(.)(.....)(.)
更换图案:
$1$4$3$2
请注意,确切的语法取决于正则表达式风格(即使用的工具)。一些工具通过反斜杠定义反向引用,即\1\4\3\2
,而一些工具不支持反向引用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句