В следующем тексте:

" 123 + 456 + 789 "

Как заменить все символы "+" на% 20? Примеры, которые я видел, которые используют регулярные выражения, заканчиваются обработкой + как части правил, используемых выражением, поэтому кажется, что регулярные выражения не могут быть использованы.

-5
AndroidDev 20 Авг 2018 в 12:52

3 ответа

Лучший ответ

Вам просто нужно сначала выйти из +, что делается с помощью обратной косой черты:

const str = "123+456+789";
console.log(
  str.replace(/\+/g, '%20')
);

То же самое верно для любого символа со специальным значением в регулярном выражении, такого как круглые скобки, *, ^ и т. Д. - чтобы соответствовать символу литерал , введите обратный слеш перед ним. (То же самое для обратной косой черты - \\ соответствует буквальной обратной косой черте)

7
CertainPerformance 20 Авг 2018 в 09:53

Вы можете использовать String#split() и Array#join() удалить все плюсы и заменить их %20:

let plus = "123+456+789";

let percent = plus.split("+").join("%20");

console.log(percent)
1
Luca Kiebel 20 Авг 2018 в 10:02

Вы можете достичь этого, используя str replace

str = document.getElementById("mystring").innerHTML;
res = str.replace("+", "%20");
-2
JAWARIA WASEEM 20 Авг 2018 в 09:59
51928149