使用正则表达式从字符串中提取数字

时间:2014-03-04 15:34:51

标签: java regex string match

我下面有一个html代码,并且使用java我需要提取数字“25.12”以及8,15,17等来将它们存储在数组中。无法确定正确的regEx语法。

<td align=center class="mazs" rowspan="2" bgcolor="#B5DA70">25.12</td>    
<td align=center class="mazs" rowspan="2" bgcolor="#B5DA70">8</td>
<td align=center class="mazs" rowspan="2" bgcolor="#B5DA70">15</td>
<td align=center class="mazs" rowspan="2" bgcolor="#B5DA70">17</td>
<td align=center class="mazs" rowspan="2" bgcolor="#B5DA70">18</td>
<td align=center class="mazs" rowspan="2" bgcolor="#B5DA70">20</td>

3 个答案:

答案 0 :(得分:0)

从文件中逐行读取,然后:

String yourValue = line.replaceAll("<[^>]*>","");
小心,使用正则表达式“解析”html不是正确的方法。例如,如果您的html代码中存在换行符,则正则表达式替换将失败。

答案 1 :(得分:0)

以下是如何在一行中执行此操作:

String[] numbers = str.replaceAll("<.*?>", " ").trim().split("\\s+");

请参阅live demo

答案 2 :(得分:-1)

如果所有行都是单独出现且没有变化,您可以使用非常简单的正则表达式,如下所示Matcher.group(1)

>(.*)<