【问题标题】:Regexp to match Captial cases in address Pattern正则表达式匹配地址模式中的大写字母
【发布时间】:2016-12-10 10:45:03
【问题描述】:

我想要一个正则表达式来查找具有可在 Alteryx 中使用的混合字符的地址。 第一个例子的开头是大写,第二个介于两者之间。

  1. IFBDAGE,Place des Augustins 19,Bonita Springs
  2. 28/10 Macquarie Street,NEWSTEAD,Bonita Springs

【问题讨论】:

  • 我可以使用 \b[A-Z0-9]{2,}\b 获得第一个大写字母,但不确定如何在字符串之间找到

标签: regex alteryx


【解决方案1】:

不要使用正则表达式。让您的生活更轻松并使用正常功能:

public static string GetUpperCasePart(string address, char delimiter)
{
    foreach (var part in address.Split(delimiter))
    {
        if (part.All(c => Char.IsLetter(c) && Char.IsUpper(c)))
            return part;
    }

    return string.Empty;
}

工作示例:https://dotnetfiddle.net/x3NxOJ

【讨论】:

  • 我们可以在 SQL 中将其作为存储过程运行吗?我在一列中有地址..
【解决方案2】:

在你的正则表达式\b[A-Z0-9]{2,}\b你为什么使用0-9,如果你只是使用\b[A-Z]{2,}\b,它也会在中间给出大写字母。

【讨论】:

  • 这行得通....但它也会返回全大写的地址...我只想要混合大小写的地址。
【解决方案3】:

假设您的字符串包含大写字母,匹配应该很困难...否则,Abbondanza 的解决方案有效,您可以使用像 Anita 解释的 RegEx ;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多