【问题标题】:Extract address lines from comma seperated text using reg ex使用正则表达式从逗号分隔的文本中提取地址行
【发布时间】:2015-10-10 14:10:49
【问题描述】:

我需要正则表达式(点网)从逗号分隔的文本中提取地址行。

1.需要输入中的确切地址2

输入:address1、address2、address3

输出:address2

我试过Regex.Match(strInput, @"^(?:[^,]*\,){1}([^,]*)").Value,但它给出了地址1,地址2

2。需要地址 2 和地址 2 之后的任何内容

输入:address1,address2,address3

输出:地址2,地址3

我尝试过Regex.Match(strInput, @"^(?:[^,]*\,){1}(.*)").Value,但它提供了完整的输入文本

【问题讨论】:

    标签: .net regex


    【解决方案1】:

    在您描述的这种情况下,我宁愿用逗号分割字符串。

    但是如果你只是喜欢正则表达式,你需要做的就是得到第一个匹配的子序列而不是整个匹配。 (即将.Value替换为.Groups[1].Value

    代码是

    1. Regex.Match(strInput, @"^(?:[^,]*\,){1}([^,]*)").Groups[1].Value

    2. Regex.Match(strInput, @"^(?:[^,]*\,){1}(.*)").Groups[1].Value

    【讨论】:

    • 非常感谢您的回复。拆分文本将解决我的第一个要求,但对第二个要求很困难。 concat 可能需要另一个步骤。因此,在这种情况下,首选正则表达式。欢迎任何具有更好性能的想法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多