В javascript требуется справка по регулярным выражениям

Первый вопрос здесь, так что, пожалуйста, будьте любезны :)

Я очень мало знаю о регулярных выражениях, но я использую их в текущем проекте, которые удаляют специальные символы из строки. Похоже на это ...

newWord = newWord.replace(/[^0-9A-Za-z ]/g, "");

Он работает хорошо, но мне нужно немного изменить его, чтобы он не удалял символ £ (GBP).

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

Кто-нибудь может помочь?

regular-expressions.info Вы можете использовать этот сайт в качестве краткого справочника без необходимости изучать какие-либо подробности.
Nick Presta 17.01.2009 00:25
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
322
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
newWord = newWord.replace(/[^0-9A-Za-z£ ]/g, "")

или с escape-последовательностью unicode

newWord = newWord.replace(/[^0-9A-Za-z\u00a3\u0020]/g, "")

С помощью этого регулярного выражения вы удаляете все символы, которых нет в предоставленном вами списке. Символ minus используется для обозначения диапазона, поэтому любой символ, не входящий в 0-9 (0,1,2,3, .. 9) A-Z и a-z, заменяется ничем (""). Добавив знак £, он больше не заменит его ничем.

У Триптиха был хороший момент - вне ASCII наборы символов не дают никаких гарантий. Вам лучше использовать \ u00a3.

Jonathan Lonowski 17.01.2009 00:41

Я также рекомендовал бы использовать такую ​​escape-последовательность для символа пробела, чтобы улучшить читаемость, потому что ее легко упустить, если это фактический пробел (я так и сделал, когда впервые прочитал вопрос).

rmeador 17.01.2009 00:43

Убедитесь, что и данные, и скрипт закодированы в одной и той же кодировке. В противном случае замена может пойти не так. Как указал Джонатан, вам лучше использовать синтаксис Unicode.

Gumbo 17.01.2009 00:49
newWord = "10 -+-sdf£";
newWord = newWord.replace(/[^0-9A-Za-z £]/g, "");
WScript.StdOut.WriteLine(newWord);

Другие вопросы по теме