Как определить регулярное выражение для извлечения символа валюты из строки цены? - PullRequest
2 голосов
/ 12 апреля 2019

У меня есть строка цены, из которой я хочу получить символ валюты (символ имеет переменную длину).

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

var k = "111,112,258$".replace(/\d+([,.]\d+)?/g, "");
console.log(k) //log shows ,$

Я думаю, что вторая запятая или точка - это проблема.Почему это происходит?

Ответы [ 2 ]

2 голосов
/ 12 апреля 2019

Это заменяет цифры, запятые, точки и пробелы из вашей входной строки

var k = "111,112.111$".replace(/[\d,.\s]/g, "");
console.log(k) // $

РЕДАКТИРОВАТЬ:

Если вы хотите поддерживать арабские / индийские числа, вы можете расширить его следующим образом:

var k = "١٢٣,١١$".replace(/[\d,.\s,١-٩]/g, "");
console.log(k) // $
1 голос
/ 12 апреля 2019

Вы можете упростить регулярное выражение и заменить только те символы, которые вам интересны, без упоминания других:

"111,112,258$".replace(/[\d,.]/g, "")

вывод (снимок экрана сделан с терминала узла):

enter image description here

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