我非常感谢社区提供的有关使用 javascript 正则表达式以第 x 个位置间隔替换字符串的帮助。例如,如果字符串长度为 161,替换文本为 <br />
,正则表达式将用此替换文本替换第 40、80、120 和 160 个位置的字符串。使用正则表达式可以实现这一点吗?
非常感谢。
最佳答案
添加<br />
的方法在第 40 个位置是使用以下行:
string = string.replace(/([\S\s]{40})/g , "$1<br />");
如果您想动态设置位置,请使用:
var positions = 40;
var pattern = new RegExp("([\\s\\s]{" + positions + "})", "g");
string = string.replace(pattern , "$1<br />");
代码说明:
replace
的第一个参数函数是一个正则表达式:- (
[\S\s]
= 所有非空白字符和空白字符 = 每个字符)。 -
{40}
= 40 个字符 g
flag表示:全局匹配,即:匹配所有可能出现的情况- RegExp 内的括号表示:创建一个组。此群组稍后可通过
$1
引用(第一组)
- (
replace
的第二个参数函数包含$1<br />
。即:将完整匹配替换为第一组($1
),并添加<br />
到它。
关于javascript - 在第 X 个位置间隔处使用正则表达式替换字符串 (javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7930869/