我目前正在从公共网站上删除html,以建立更优化的数据库以达到客户的目的。这个特定的网站确实提供了csv导出,而不是抓取html,但是csv有一些限制,我只是看不到任何解决方法。
例如,此公司列表。在html中-这是一个简单的ul,我只遍历每个li以获得单独的公司
<ul>
<li>Lerner New York, Inc.</li>
<li>Charming Shoppes, Inc.</li>
<li>Lane Bryant, Inc.,</li>
<li>Nordstrom, Inc.</li>
</ul>
在CSV导出中-此数据(一个单元格)如下所示:
Lerner New York, Inc., Charming Shoppes, Inc., Lane Bryant, Inc., Nordstrom, Inc.
用逗号分隔字符串是有问题的,因为这样我会得到:
Lerner New York|Inc.|Charming Shoppes|Inc.|Lane Bryant|Inc.
我希望它就像忽略Inc.一样简单-但不是那么简单。
你们中的任何一个reg-ex向导都有解决问题的魔法吗?
答案 0 :(得分:1)
您可以使用正则表达式后面的正则表达式来仅选择逗号(后接一个或多个空格)并以文字点开头。因此,只需使用此正则表达式进行拆分即可。
(?<=\.),\s+
用于拆分的Java代码,
String s = "Lerner New York, Inc., Charming Shoppes, Inc., Lane Bryant, Inc., Nordstrom, Inc.";
Arrays.stream(s.split("(?<=\\.),\\s+")).forEach(System.out::println);
打印
Lerner New York, Inc.
Charming Shoppes, Inc.
Lane Bryant, Inc.
Nordstrom, Inc.