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

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

Подскажите знатоки плиз!
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
316
Благодарностей
230
Баллы
43
Обязательно регулярку?

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



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

C#:
return project.Variables["tmp"].Value.Split('.')
       .First().Replace(",","");
 
  • Спасибо
Реакции: alex46546

Nord

Client
Регистрация
22.03.2012
Сообщения
2 373
Благодарностей
1 433
Баллы
113
[^\d]
Заменить все на пустоту
 
  • Спасибо
Реакции: alex46546

alex46546

Новичок
Регистрация
24.01.2024
Сообщения
7
Благодарностей
0
Баллы
1
Обязательно регулярку?

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



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

C#:
return project.Variables["tmp"].Value.Split('.')
       .First().Replace(",","");

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

alex46546

Новичок
Регистрация
24.01.2024
Сообщения
7
Благодарностей
0
Баллы
1
[^\d]
Заменить все на пустоту
Да, спасибо. [^\d] - меняет все на пустоту. А мне же наоборот надо оставить только цифры, убрать все знаки препинания и буквы
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 652
Благодарностей
1 319
Баллы
113

alex46546

Новичок
Регистрация
24.01.2024
Сообщения
7
Благодарностей
0
Баллы
1

Nord

Client
Регистрация
22.03.2012
Сообщения
2 373
Благодарностей
1 433
Баллы
113
Да, спасибо. [^\d] - меняет все на пустоту. А мне же наоборот надо оставить только цифры, убрать все знаки препинания и буквы
Эта регулярка ищет любые символы, кроме цифр, и далее вы заменяете их на пустое место. По итогу получаете только цифры в исходной переменной
 

alex46546

Новичок
Регистрация
24.01.2024
Сообщения
7
Благодарностей
0
Баллы
1
Эта регулярка ищет любые символы, кроме цифр, и далее вы заменяете их на пустое место. По итогу получаете только цифры в исходной переменной
Я видимо совсем новичек, это двумя блоками делается?
В одном блоке [^\d]
А в следующем \d+\S+
Так? Сорри, совсем плыву
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
316
Благодарностей
230
Баллы
43
C#:
return project.Variables["tmp"].Value.Replace(" ",".").Split('.')
       .First().Replace(",","");
 
  • Спасибо
Реакции: alex46546

alex46546

Новичок
Регистрация
24.01.2024
Сообщения
7
Благодарностей
0
Баллы
1

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