如何在引号之间的字符串中对内容进行url编码

时间:2019-01-03 18:28:51

标签: javascript regex encodeuricomponent

我想在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

1 个答案:

答案 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)))