js在字符串中插入某个新符号

之前有个需求,将"DRL" 转成"D.R.L", 想了半天,不知道怎么用正则匹配做到往字母里面插新的符号,后来索性用replace方法直接手动替换整体解决的。

后来发现虽然js的string并没有join()方法,但array有join()方法,所以可以将string转成array,再用join()

例: 将 "abcde"  转换成"a-b-c-d-e"

'abcde'.split('').join('-')

 第二种方法是利用正则匹配中的锚字符B,  B匹配非字符边界的位置  也就是W和W或者w和w的边界

简单点说  'abcde'可以看作  ^()a(B)b(B)c(B)d(B)e()$  :

'abcde'.replace(/B/g,'-');

值得注意的是,下划线 _ 属于w而连字符 - 属于W

而python中提供了string的join方法,可以直接完成

'-'.join("abcde")

如果只是在特定位置插入一个符号,可用借数组的splice方法,同样也是得先把字符串转换为数组.

如:  'abcdef'  ==>  'ab-cdef'

let str = 'abcdef';
let arr = str.split('');
arr.splice(2,0,'-');
str = arr.join('');  //ab-cdef
原文地址:https://www.cnblogs.com/jx-z/p/10286801.html