我有一个字符串,并希望在每个第二个字符后添加一个冒号(但不是在最后一个字符之后),例如:
12345678
变
12:34:56:78
我一直在用.replace()
,例如:
mystring = mystring.replace(/(.{2})/g, NOT SURE WHAT GOES HERE)
但:
我没有用过任何正则表达式的工作,而且我没能在Google上找到任何有用的东西.
谁能指出我正确的方向?
mystring = mystring.replace(/(..)/g, '$1:').slice(0,-1)
这是立刻想到的.我只是剥掉了最后一个角色,最后摆脱了冒号.
如果你想将它用于奇数长度的字符串,你只需要使第二个字符可选.像这样:
mystring = mystring.replace(/(..?)/g, '$1:').slice(0,-1)
无需删除任何尾随冒号:
mystring = mystring.replace(/..\B/g, '$&:')
\B
匹配零宽度非字边界; 换句话说,当它到达字符串的末尾时,它将不匹配(因为它被认为是一个单词边界),因此不会执行替换(因此也没有尾随冒号).
$&
包含匹配的子字符串(因此您不需要使用捕获组).