Javascript заменить всю строку содержит '[]' не работает

0

Я пробую этот код

RowHTML = RowHTML.replace(/[0]/g, '[' + (LastIndex + 1) + ']');

но он не работает, полностью игнорирует [] и заменяет каждый 0 на [new_number]

любое решение?

  • 6
    Вы должны выйти из скобок: /\[0\]/g
Теги:
replaceall

1 ответ

5
Лучший ответ

[ и ] являются специальными символами в регулярных выражениях. Они ограничивают класс персонажа. Если вы хотите совместить их буквально, вам нужно избежать их в шаблоне следующим образом:

RowHTML = RowHTML.replace(/\[0\]/g, '[' + (LastIndex + 1) + ']');

Или, как предлагает Фабрицио, вам действительно нужно избегать [:

RowHTML = RowHTML.replace(/\[0]/g, '[' + (LastIndex + 1) + ']');
  • 1
    Не обязательно избегать ] если только внутри класса персонажа, но дополнительное экранирование в любом случае не будет иметь большого значения.
  • 0
    @ FabrícioMatté Да, ваше право: Обновлено.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню