【问题标题】:Address Extraction [closed]地址提取[关闭]
【发布时间】:2020-05-26 12:59:33
【问题描述】:

我想从这个字符串中提取所有地址。正则表达式应该是通用的。

输入字符串:

ABC MEDICAL CENTER
PO BOX 134
WILSON, NC 27234
SIVER BANK
4235 EXECUTIVE SQ STE 140
LAY JOLLA GA 22037ABC MEDICAL CENTER
PO BOX 134
WILSON, NC 27234
ABC MEDICAL CENTER
P.O.BOX 1624
MILSON, NC 2084
ABC MEDICAL CENTER
P.O.BOX 1689
MILSON, NC 20834
ABC MEDICAL CENTER
P.O.BOX 1625
MILSON, NG 27812

【问题讨论】:

  • 地址是什么意思?
  • 抱歉拼写问题。
  • 我错过了uipath标签,你的问题有解决方案here
  • 嗨,欢迎来到 SO。你试过什么?看看how-to-ask

标签: regex uipath uipath-studio uipath-activity


【解决方案1】:

您可以使用 String.split() 函数或 StringTokenizer 类在 Java 中拆分逗号分隔的字符串。

import java.util.Arrays;   
public class Main
{ 
  public static void main(String[] args)     
     {   
       String CSV = "Google,Apple,Microsoft";   
       String[] values = CSV.split(",");   
       System.out.println(Arrays.toString(values));   
     } 
}
Output :[Google, Apple, Microsoft]

您还可以通过拆分逗号分隔的字符串来创建 ArrayList,如下所示:

ArrayList list = new ArrayList(Arrays.asList(values)

如果您的逗号分隔字符串还包含值之间的空格,那么您可以使用以下正则表达式来拆分 CSV 字符串,并从各个值中删除前导和尾随空格。

String CSV = "Google, Apple, Microsoft";
String[] values = CSV.split("\\s*,\\s*");
System.out.println(Arrays.toString(values));

这里的\\s* 是查找零个或多个空格的正则表达式。
\s 是查找空格(包括制表符)的元字符,因为 \(正斜杠)在 Java 中需要转义,所以它变成了 \ (双斜杠)并且 \s 变成了 \s。 现在来到*(星号或星号),它是正则表达式中的另一个特殊字符,表示任意次数。所以 \\s* 表示空格任意多次。

【讨论】:

  • 有时地址中没有逗号之类的分隔符,那个时候怎么处理呢。
  • 你需要找到在每个地址之后重复的特定模式,它可以是每个地址的行数或空格数,这完全取决于数据。
猜你喜欢
  • 2011-03-28
  • 2015-09-21
  • 1970-01-01
  • 2014-03-29
  • 1970-01-01
  • 1970-01-01
  • 2010-09-29
  • 1970-01-01
相关资源
最近更新 更多