我想在JavaScript中将字符串a b "c d" e f
转换为a b c%20d e f
。我认为这与RegEx有关,但我不太了解。
编辑:我需要它在一个字符串中多次工作,例如a b "c d" e f "g h" i j
变成a b c%20d e f g%20h i j
答案 0 :(得分:4)
如果只有一个嵌入式字符串:
const s = 'a b "c d" e f'
console.log(s.replace(/"(.+)"/, (s, t) => encodeURI(t)))
对于多个嵌入式字符串:
const s = 'a b "c d" e "f g" h'
console.log(s.replace(/"(.+?)"/g, (s, t) => encodeURI(t)))