首页 > 解决方案 > 使用正则表达式 C# 从字符串中获取十进制值

问题描述

我想提取输入字符串的十进制值

Total (pre tax) 93.78 EUR

我试过了

Regex.Replace(string input, "[^0-9]+", string.Empty)

但它只提取9370了预期结果的位置93.78

请帮助我获得十进制值的模式。

标签: c#regex

解决方案


我建议匹配而不是替换:让我们提取感兴趣的值,而不是删除所有其他字符。

string result = Regex.Match(
     "Total (pre tax) 93.78 EUR", 
    @"[0-9]+(\.[0-9]+)?")
  .Value;

推荐阅读