заменить строку квадратными скобками - PullRequest
0 голосов
/ 24 сентября 2018

Я хотел заменить строку, включая '?'и «[текст]».Я пробовал со всеми вариантами, но не работает.Это специальные символы.Как мы можем справиться с этими.

src = src.replace('text=?', 'textNew=?');
src = src.replace('[text]', 'textNew');

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Вы можете использовать Regex для замены специальных символов

src = src.replace(/\[text\]/,'textNew');
src = src.replace(/text=\?/,"textNew=?");

здесь \ используется для разрешения специальных символов в строке

0 голосов
/ 24 сентября 2018

Решение с использованием объекта RegExp (реализация Regular Expression)

var a = "text=?othertext"
var b ="[text]othertext"
var r1= new RegExp("text=\\\?","g");
var r2= new RegExp("\\\[text\\\]","g");

var a_replaced = a.replace(r1,"textNew=?")
var b_replaced = b.replace(r2,"textNew")

? и [ и ] являются специальными символами в RegExp.Вы должны экранировать их тройной \.

опцией g в вызове RegExp, замените ВСЕ вхождения подстроки в строке

https://regex101.com/ сервисдля проверки регулярных выражений (адаптированных для различных языков)

https://www.w3schools.com/jsref/jsref_obj_regexp.asp документация W3C

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...