【问题标题】:get static length substring获取静态长度子串
【发布时间】:2014-02-04 02:32:11
【问题描述】:

编辑[20140203 2143]
我有一个字符串 0.00,0.00,0.00,"0.00","AID000000000",0.00,0,0,我想在前导 ,"AID 和尾随 ", 之间获取值,这些值永远不会改变。

c# 中的正则表达式应该是什么样的? (我是正则表达式领域的新手)

【问题讨论】:

    标签: c# regex substring


    【解决方案1】:

    这个正则表达式应该可以工作:

    (?<=,"AID)[0-9]+(?=",)
    

    这使用lookaheads and lookbehinds 来匹配,"AID", 之间的数字

    您可以在这里试用:http://www.rubular.com/r/T0RBuqh9JX

    【讨论】:

    • 是的,前瞻和后瞻是我真正想要的。干杯。
    【解决方案2】:

    使用正则表达式:

    var reg = new Regex(@"\d+");
    var numbersOnly = reg.Match(yourString).Value;
    

    你也可以用 LINQ 做到这一点,去掉所有非数字字符:

    var numbersOnly = new string(yourString.Where(char.IsNumber).ToArray());
    

    在这两种情况下,结果都是:

    "0000000000"
    

    (我假设您想要字符串中的结果。)

    【讨论】:

    • 如果实际字符串是这样的 0.00,0.00,0.00,"0.00","AID000000000",0.00,0,0 会起作用吗?
    • 是的,它看起来像分隔符问题,但实际上我只是想知道如何获取静态值之间的值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多