从文件中选择文本

时间:2015-11-26 20:14:17

标签: java string file select words

我有一个程序应该从html文件中选择电话号码和人名,姓氏和大学名称。

问题在于,当我逐行读取文件时,程序无效。

try (BufferedReader in = new BufferedReader(new FileReader("test.html"))) {
     String inputLine;
     while ((inputLine = in.readLine()) != null){
         Matcher matcher = Pattern.compile("(\\+\\d{3}) (\\d{5})...(\\d{4})\\D+\\d+\\\">(.*)<").matcher(inputLine);
         while(matcher.find()){
            System.out.print(matcher.group(1)+" "+matcher.group(2)+" ("+matcher.group(3)+") "+matcher.group(4)+"\n");
         }
      }
    }

这是我在html中的一些文字示例:

+123 48535<b>3597</b>   </td>
<td>
    <a href="/abcd/315">prof. Dr. Ing. Name Surname</a>
</td>
<td>
<tr>
<th class="function-title" colspan="4">some_function</th>
</tr>       
<tr>
<td>
  +123 48535<b>3656</b>   </td>
<td>
    <a href="/zamestnanec/167">doc. PhDr. Name2 Surname2, Ph.D.</a>
</td>

预期输出如下:

+123 48535 (3597) prof. Dr. Ing. Name Surname +123 48535 (3656) doc. PhDr. Name2 Surname2, Ph.D.

代码按预期工作,例如,如果我有一个String inputLine = "same text that was in html file",但是当我从文件中读取时,它没有工作,我得到的一切都没有:(

0 个答案:

没有答案