Используйте reg ex, чтобы убрать числа из строки (включая отрицательные числа) в Javascript - PullRequest
1 голос
/ 19 октября 2011

Я использую следующий reg ex для удаления чисел из строки, но он также удаляет (-) из отрицательных чисел.Кто-нибудь знает о reg ex, который оставляет числа, а также (-).Спасибо.

var string = "jdhjhjcdhj-200";
alert(string.replace(/[^\d]/g,""));

Ответы [ 4 ]

1 голос
/ 19 октября 2011

регулярное выражение (?!-?\d).

var string = "j-d-h-j-hjcdhj-200def-";
alert(string.replace(/(?!-?\d)./g,""));

Обратите внимание, что это обнажит abc-def-123 и сделает его -123

Тест здесь: http://gskinner.com/RegExr/?2uvds

Он использует отрицательный прогноз, чтобы "игнорировать" минус, за которым следуют цифра и цифры.

Если вы хотите удалить многострочный текст, вам, вероятно, следует использовать [\s\S] вместо . (читайте здесь http://www.regular -expressions.info / dot.html )

1 голос
/ 19 октября 2011

Включить тире в список исключенных символов:

string.replace(/[^\d\-]/g,"")
1 голос
/ 19 октября 2011

Метод match возвращает массив совпавших шаблонов:

var string = "jdhj-hjc-dhj-200";
alert(string.match(/-?\d+/)[0]);
1 голос
/ 19 октября 2011

Просто добавьте - в свое регулярное выражение:

var string = "jdhjhjcdhj-200";
alert(string.replace(/[^\d-]/g,""));

Это дает вам -200

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...