Как извлечь суммы с пространством как тысячи сепаратора [закрыто] ⇐ C#

Место общения программистов C#
Anonymous
Как извлечь суммы с пространством как тысячи сепаратора [закрыто]

Сообщение Anonymous »

ASP.NET CORE 9 MVC /C# Приложение должно извлечь сумму из конца в строке.

Код: Выделить всё

(?.+) (?{summai}) (?
{summai}) (?{summai})
summous {summai}
определяются Regex

Код: Выделить всё

-?[0-9]{1,3}(?:[ ,.]?[0-9]{3})*[.,]?[0-9]{0,2}
< /code>
Суммы содержат отдельное пространство в качестве разделителя тысяч, если значение больше 999,99. Также может не содержать пространство, 1 000.00 
и 1000.00 может отображаться.
Например, из строки

Код: Выделить всё

item 1 1 000.23 200.00 10 500.00
< /code>
Результат извлечения должен быть < /p>
description     item 1
quantity        1 000.23
price           200.00
total           10 500.00
< /code>
используется regex: < /p>
(?.+) (?-?[0-9]{1,3}(?:[ ,.]?[0-9]{3})*[.,]?[0-9]{0,2}) (?
-?[0-9]{1,3}(?:[ ,.]?[0-9]{3})*[.,]?[0-9]{0,2}) (?{-?[0-9]{1,3}(?:[ ,.]?[0-9]{3})*[.,]?[0-9]{0,2}})$
< /code>
Это должно работать - но не возвращает никаких совпадений. $ должен заставлять начать сопоставление с конца строки и соответствовать как можно более майским символам.(?.+) (?-?[0-9]{1,3}(?:[ ,.]?[0-9]{3})*[.,]?[0-9]{0,2})$
Извлекает общий как 500,00 Но правильный результат - 10 500,00
Как извлечь суммы из конца строки? PDFPIG возвращает 1 000.00 как два разных токена, 1 и 000.00 Как заставить PDFPIG вернуть один токен 1 000.00 . В этом случае regex работает. Это опубликовано в том, как извлечь целое число как единственный токен из PDF

Подробнее здесь: https://stackoverflow.com/questions/796 ... -separator

Вернуться в «C#»