Javascript: удалить специальные символы из строки

avatar
PackOf20
9 августа 2021 в 03:35
124
1
0

Я пытаюсь удалить этот специальный символ § из текста, но JavaScript не распознает его. Так что его вообще не убрать. Единственное решение, которое я пробовал, это безуспешно:

var x = "Hello § How Are You §";
x = x.replace('§', '');
console.log(x);

И это вывод консоли, который я получаю:

Hello § How Are You §

Но когда я удаляю любой другой обычный символ, который можно найти на клавиатуре, он работает нормально. Например:

var x = "Hello § How Are You §";
x = x.replace('H', '');
console.log(x);

А это вывод консоли, который я получаю:

ello § How Are You §

Есть ли решение этой проблемы?

Источник
Nick Parsons
9 августа 2021 в 03:39
0

используйте var y = x.replace('§', '');, а затем введите y. Если вы хотите удалить все вхождения, используйте var y = x.replace(/§/g, '');

PackOf20
9 августа 2021 в 03:43
0

Все еще не повезло, я пробовал оба, и не повезло

Ответы (1)

avatar
Tim Biegeleisen
9 августа 2021 в 03:39
3

Строки неизменяемы в JavaScript. Вам необходимо назначить замену x. Кроме того, если вы хотите удалить все символы §, вы можете использовать глобальную замену регулярного выражения.

var x = "Hello § How Are You §";
x = x.replace(/§/g, '');
console.log(x);
PackOf20
9 августа 2021 в 03:41
0

Это была ошибка при вводе, я уже сделал это с той же проблемой

Tim Biegeleisen
9 августа 2021 в 03:44
0

@ pikoloy871 Демонстрация в моем ответе работает. У вас должна быть какая-то другая проблема.

PackOf20
9 августа 2021 в 03:49
0

Хорошо, я попробовал это снова, и, кажется, это работает? Как я могу соединить обычную букву/цифру и удалить ее после? например: §a становится ''. Итак, Hell§o будет Hell? Я пытался использовать «+», но тогда он просто не удаляет символ или букву/цифру после него.

Tim Biegeleisen
9 августа 2021 в 03:55
1

Для одной завершающей буквы или цифры замените на /§\w/. Для нескольких следующих символов слова используйте /§\w+/

PackOf20
9 августа 2021 в 03:59
0

Я пробовал x = x.replace(/§\w/, '');, но мне не повезло, и я ничего не заменил, я сделал это неправильно?

Tim Biegeleisen
9 августа 2021 в 04:02
0

Я не понимаю, в чем проблема.

PackOf20
9 августа 2021 в 04:03
0

Я попробовал то, что вы сказали мне сделать, но впоследствии он не удалил символ или единственный завершающий символ.

Tim Biegeleisen
9 августа 2021 в 04:04
0

Используйте: x = x.replace(/§\w+/g, '');

Henhen1227
17 марта 2022 в 23:06
0

x = x.replace(/§./g, '') помогло мне заменить один следующий символ.