Как глобально заменить косую черту в строке JavaScript?
javascript
Бабикер
источник
источник
"string".replace('/', 'ForwardSlash', 'g')
но это нестандартный аргумент, который работает только в Firefox afaik."string".replace(/\//g, 'ForwardSlash');
работает, но удалите / g из этого, и это не сработает./
. Без g он заменяет только один экземпляр. И если вы удалите,/g
вы полностью нарушите регулярное выражение, поскольку последний / является конечным разделителем.Используйте литерал регулярного выражения с
g
модификатором и избегайте косой черты с помощью обратной косой черты, чтобы она не конфликтовала с разделителями.источник
Без использования регулярного выражения (хотя я бы сделал это только в том случае, если строка поиска вводится пользователем):
источник
Это то, что вы хотите?
источник
Это сработало для меня, превратившись
"//"
в справедливость"/"
.источник
Вам нужно обернуть косую черту, чтобы избежать проблем с // перекрестным браузером или комментариев.
источник
Привет, небольшая поправка в приведенном выше скрипте .. выше скрипт пропускает первый символ при отображении вывода.
источник
Предлагаемое регулярное выражение
/\//g
не сработало для меня; остальная часть строки (//g, replacement);
) была закомментирована.источник
Это идея Кристофера Линкольна, но с правильным кодом:
Пример использования:
Замена глобальной строки Javascript чрезмерно сложна. Эта функция решает эту проблему. Вероятно, это небольшое влияние на производительность, но я уверен, что оно незначительное.
Вот альтернативная функция, выглядит намного чище, но в среднем на 25-20 процентов медленнее, чем указанная выше функция:
источник
Вы можете создать
RegExp
объект, чтобы сделать его более читабельнымЕсли вы хотите заменить их все, добавьте
"g"
флагисточник