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'可以看作  ^(\b)a(\B)b(\B)c(\B)d(\B)e(\b)$  :

'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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM