Упрощенное регулярное выражение для удаления знака доллара и всего, что находится после десятичной точки в строке - PullRequest
0 голосов
/ 18 марта 2020

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

Например:

$ 10 000,00 ==> 10 000

$ 500,05 ==> 500

Это будет работать:

myString.replaceAll("[.][0-9]+$", "").replaceAll("[^\\d.]", "");

но как я могу сделать это с одним регулярным выражением? Спасибо!

Ответы [ 2 ]

1 голос
/ 18 марта 2020

Вы можете использовать чередование:

myString = myString.replaceAll("^\\$|\\.\\d*$", "");

Демонстрация RegEx

Подробности RegEx:

  • ^\\$: совпадение $ в начале
  • |: ИЛИ
  • \\.\\d*$: совпадение ., за которым следуют 0 или более цифр до конца
0 голосов
/ 18 марта 2020

Или просто используйте gsub:

gsub("\\$|\\..*", "", txt)
[1] "10,000" "500" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...