Поскольку я разработчик C#, я бы тоже принял ответы C#.Regex, чтобы получить десятичное значение в строке
Допустим, у меня есть эта строка: «R 560,00»
Существует характер Альфа и пространство с десятичным значением.
Мы также можем иметь котировки на строке.
Но я хочу получить только десятичное значение в строке. Все остальные символы должны быть удалены.
ПРИМЕЧАНИЕ: String.Replace работает не так, как я хочу, поэтому я обращаюсь к Regex.
Это то, что я пробовал: поля (amountIdx) будет содержать R560.00
Dim regex As New Regex("^[0-9]+(\.[0-9]{1,2})?$", RegexOptions.IgnoreCase)
Dim amount As String = regex.Replace(fields(amountIdx), "^[0-9]+(\.[0-9]{1,2})?$")
Но сумма отражается обратно в R 560.00. Он не удаляет других символов. Как это сделать?
Как десятичное? Вы принимаете регулярное выражение, которое испускает только десятичные точки и числа? Очевидно, R 56.0.00 пройдет; Вы хотите, чтобы? – Bathsheba
Зачем «Заменить» вместо «Матч»? – Jon
Что сказал Джон и удалил^с начала регулярного выражения (и с конца, если вы не ожидаете, что десятичная цифра будет последней вещью в строке) – Ben