c# 使用正则表达式获取数字

问题描述 投票:0回答:1

我想获取数字,但排除以美元符号 ($) 开头或后跟分号 (¢) 的数字。

我想在数字之间包含逗号 (,) 或点 (.)。

1,500,000 → 1,500,000

1,200 美元 → X

95¢→X

aa105,000.76qwer → 105,000.76

abc105000.76asdf → 105000.76

$abc123abc → 123

abc123a6bc¢ → 123, 6

------------------------------------------------- ---------------------------------------

字符串输入文本 = @"||-6|-|7|| {1}{2} 5@{5}{8} (n10, m-10) (n, m) $123.20 98¢ 123.15 158,870,000.500 abc123.0 \_{213asfd123} ^{asfd213dasf132} \[asdf213a213s\]";

字符串 myPattern = @"(?!$)(?:[.]?[\d]+(?:[,.]*\d)*)(?!¢)";

c# regex expression
1个回答
0
投票
static void Main()
    {
        string sample = "$123.5";
        if (Regex.Match(sample,  @"[\d.]+").Success)
        {
            double val = double.Parse(Regex.Match(sample,  @"[\d.]+").Value);
            Console.WriteLine(val);
        }
    }

试试这个吧

© www.soinside.com 2019 - 2024. All rights reserved.