所以我得到了这个字符串
'word word - word word 24/03/21'
我想把它转换成
'word_word-word_word_24_03_21'
我试过了
replace(/[^aA-zZ0-9]/g, '_')
但是我得到了这个
word_word___word_word_24_03_21
最佳答案
您可以使用 2 个 .replace()
调用:
const s = 'word word - word word 24/03/21'
var r = s.replace(/\s*-\s*/g, '-').replace(/[^-\w]+/g, '_')
console.log(r)
//=> "word_word-word_word_24_03_21"
解释:
.replace(/\s*-\s*/g, '-')
:移除连字符周围的空格.replace(/[^-\w]+/g, '_')
: 用下划线替换所有不是连字符和单词字符的字符https://stackoverflow.com/questions/66785360/