Подскажите регулярку, чтобы вытащить только цифры

alex46546

Новичок
Регистрация
24.01.2024
Сообщения
7
Реакции
0
Баллы
1
Сутки уже голову ломаю, как это сделать в одном/двух блоках

Подскажите регулярку, чтобы вытащить только цифры:
Входящие варианты:
32,561 USD
32,561.15 USD
32,561.1684 USD
1,456 USD
48 USD
48.15 USD

Нужно брать только цифры до точки, независимо сколько цифр до точки и после, т.е. вот такие буду ответы:
32561
32561
32561
1456
48
48

Подскажите знатоки плиз!
 
Обязательно регулярку?

Первый кубик - Split по точке.
Второй кубик - Replace запятой на пустоту



Или кодом в один кубик:

C#:
Развернуть Свернуть Копировать
return project.Variables["tmp"].Value.Split('.')
       .First().Replace(",","");
 
  • Спасибо
Реакции: alex46546
Обязательно регулярку?

Первый кубик - Split по точке.
Второй кубик - Replace запятой на пустоту



Или кодом в один кубик:

C#:
Развернуть Свернуть Копировать
return project.Variables["tmp"].Value.Split('.')
       .First().Replace(",","");


Супер, спасибо Алексей!
Почти работает, только если нет точки, тол он не убирает " USD"
32,561 USD делает: 32561 USD
48 USD делает: 48 USD
 
1Y7ttfj.png


Код:
Развернуть Свернуть Копировать
\d+\S+
 
  • Спасибо
Реакции: alex46546
1Y7ttfj.png


Код:
Развернуть Свернуть Копировать
\d+\S+

Да, верно, так убирает Пробел и буквы вконце. А мне надо оставить только цифры, т.е. еще убрать запятую и точку(ВАЖНО, если она есть)
 
Да, спасибо. [^\d] - меняет все на пустоту. А мне же наоборот надо оставить только цифры, убрать все знаки препинания и буквы
Эта регулярка ищет любые символы, кроме цифр, и далее вы заменяете их на пустое место. По итогу получаете только цифры в исходной переменной
 
Эта регулярка ищет любые символы, кроме цифр, и далее вы заменяете их на пустое место. По итогу получаете только цифры в исходной переменной
Я видимо совсем новичек, это двумя блоками делается?
В одном блоке [^\d]
А в следующем \d+\S+
Так? Сорри, совсем плыву
 
C#:
Развернуть Свернуть Копировать
return project.Variables["tmp"].Value.Replace(" ",".").Split('.')
       .First().Replace(",","");
 
  • Спасибо
Реакции: alex46546

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)