我有一个HTML文件,里面有我需要提取的地址。看起来像这样,但有大约60条街道,每条街道上有多个号码
<BR>
<Font Color=#FF0000 Size=7>MACARTNEY STREET (L)</Font>
<BR>
<BR>
10........<Font Color=#FFFFFF> CM </Font>
<BR>
<BR>
15........<Font Color=#FF0000> SH </Font>
<BR>
<BR>
43A.......<Font Color=#FFFFFF> CM </Font>
<BR>
我一直在使用正则表达式来提取数据,这对于获取街道名称非常有用
final Pattern STREETNAME = Pattern.compile("<Font Color=#FF0000 Size=7>(.+?)</Font>");
Matcher stMatcher = STREETNAME.matcher("");
while ((line = reader.readLine()) != null) {
stMatcher = STREETNAME.matcher(line);
if (stMatcher.find()) {
String street = stMatcher.group(1);
customerList.add(new Customer(street));}
//customerList is an array of Customer Objects, defined elsewhere in the program
但无论如何,我都无法读取门牌号码(例子中的10,15和43A)。
理想情况下,我会存储街道名称字符串,提取门牌号并在创建客户对象之前将它们连接在一起。我还需要检查CM或SH线,但是可以等待。
任何人都有可能有所帮助的想法?我现在很难过。
谢谢!