Помощь в регулярных выражениях, необходимая в JavaScript - PullRequest
0 голосов
/ 17 января 2009

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

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

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

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

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

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

Ответы [ 2 ]

5 голосов
/ 17 января 2009
newWord = newWord.replace(/[^0-9A-Za-z£ ]/g, "")

или с экранированием Unicode

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

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

0 голосов
/ 17 января 2009
newWord = "10 -+-sdf£";
newWord = newWord.replace(/[^0-9A-Za-z £]/g, "");
WScript.StdOut.WriteLine(newWord);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...