Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
NewTypes
@NewTypes
На себя
JavaScript
.replace() и переменная в первом аргументе. Эскейп кавычек
Проблема такая: периодически мне нужно заменять в тексте слово, но так как слова разные, значит используем переменную.
str.replace("/"+string+"/gi", "word2")
Если мы используем переменную , значит у нас строка.
string = "word"
Если вставлять переменную в регулярку, мы будем иметь:
str.replace(/"word"/gi, "word2")
в то время как нужно:
str.replace(/word/gi, "word2")
Прим.: с "word2" ничего делать не надо, это просто слово.
Как мне обойти это? Спасибо.
Вопрос задан
более трёх лет назад
3904 просмотра
1
комментарий
Подписаться
2
Оценить
1
комментарий
Facebook
Вконтакте
Twitter
NewTypes
@NewTypes
Автор вопроса
Вообще, конкатенация строк в первом аргументе у меня вынесена в отдельную переменную. Чтобы небыло лишних вопросов.
Написано
более трёх лет назад
Помогут разобраться в теме
Все курсы
Яндекс Практикум
Фронтенд-разработчик
10 месяцев
Далее
Skillfactory
Профессия Веб-разработчик
12 месяцев
Далее
Яндекс Практикум
Мидл фронтенд-разработчик
5 месяцев
Далее
Решения вопроса
1
Masterme
@Masterme
google "create javascript regex object from string"
всё дело в том, что при replace первый аргумент - это не строка '/word/', а объект класса Regex. /word/ - это такой синтаксис его создания
Ответ написан
более трёх лет назад
3
комментария
Нравится
3
комментария
Facebook
Вконтакте
Twitter
NewTypes
@NewTypes
Автор вопроса
это я и сам нагуглить мог. Просто была мысль, что существует иной более красивый способ решения проблемы
Написано
более трёх лет назад
Masterme
@Masterme
@NewTypes
более красивый чем какой?
Написано
более трёх лет назад
NewTypes
@NewTypes
Автор вопроса
Я имел ввиду, что вы тыкнете меня на ошибку и (может) покажете способ конкатенации строк который по своему незнанию я мог упустить. Но раз нет способа, будем работать с этим. Спасибо за ответ
Написано
более трёх лет назад
Пригласить эксперта
Ответы на вопрос
1
Eugene
@Methos
str.replace(new RegExp("word", 'ig'), "word2");
Ответ написан
более трёх лет назад
Комментировать
Нравится
2
Комментировать
Facebook
Вконтакте
Twitter
Ваш ответ на вопрос
Войдите, чтобы написать ответ
Войти через центр авторизации
Похожие вопросы
JavaScript
Простой
Как работать с разрозненными данными?
1 подписчик
вчера
133 просмотра
2
ответа
JavaScript
+1 ещё
Простой
Неправильно работает crypto.subtle.deriveKey в Firefox, баг или мой косяк?
2 подписчика
16 окт.
103 просмотра
0
ответов
JavaScript
Простой
Как подгружать xml с перерисовкой таблицы?
3 подписчика
14 окт.
152 просмотра
0
ответов
JavaScript
+2 ещё
Простой
Как решить задачку из контеста?
1 подписчик
13 окт.
236 просмотров
1
ответ
JavaScript
+1 ещё
Простой
Есть ли js-библиотека для офлайн-распознавания русской речи?
1 подписчик
12 окт.
164 просмотра
2
ответа
JavaScript
Простой
Почему не работает в консоли setTimeout?
1 подписчик
11 окт.
330 просмотров
1
ответ
JavaScript
Простой
Как прочитать ответ сервера после отправки формы?
2 подписчика
27 сент.
290 просмотров
1
ответ
JavaScript
+2 ещё
Простой
Как менять картинки у карточки в списке товаров?
4 подписчика
22 сент.
344 просмотра
1
ответ
JavaScript
Простой
Где найти исходники стандартной библиотеки JavaScript?
1 подписчик
21 сент.
323 просмотра
2
ответа
JavaScript
+2 ещё
Простой
Где найти такой слайдер?
1 подписчик
20 сент.
249 просмотров
1
ответ
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
Web-разработчик/WordPress программист (Full-stack). В офисе ст. м Ладожская
JustBusiness
•
Санкт-Петербург
от 130 000 до 150 000 ₽
Верстальщик / фронтендер для браузерного расширения
DevTeam.Space
от 1 000 до 2 000 $
React разработчик
ITK academy
•
Нижний Новгород
от 80 000 до 120 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама