使用java从文件中查找特定值

时间:2012-01-13 09:41:37

标签: java file-handling

我有一些带有一些代码的JSP文件

<div id="ListDiv" **class="ListDiv"** style="overflow: auto; visibility: visible">
    <table width="100%" border="0" cellspacing="0" cellpadding="0"  align="center">
        <tr>
            <td>
                <table **class="List"** cellspacing="0" cellpadding="0">
                     <tr>
                        <td class="ColHeader"><%=I18N.get("KEY_LABEL_Sr_No", w_locTextObj)%>.</td>
                        <td class="ColHeader"><%=I18N.get("KEY_LABEL_Project", w_locTextObj)%></td>
                        <td class="ColHeader"><%=I18N.get("KEY_LABEL_Status", w_locTextObj)%></td>
                        <td class="ColHeader"><%=I18N.get("KEY_LABEL_Estimated_Hours", w_locTextObj)%></td>


...

像这样我想找到“class =”字符串并希望它的值"ListDiv" (class="ListDiv",class="List")多少时间意味着计算出类的价值我怎么能得到它。

  1. 我必须使用java
  2. 读取文件
  3. 找出“class =”字符串,但我怎样才能获得价值?

1 个答案:

答案 0 :(得分:0)

1)打开并读取文件。我想你可以做到这一点。请注意,您的JSP和生成的HTML可能对这些值有不同的计数,例如在迭代某些集合时。

2)在这种情况下,您可以尝试使用像class="([^"]*)"这样的正则表达式,它会在字符串class="之后和下一个双引号之前返回任何内容作为组1.请注意,在Java字符串中必须逃避该表达式中的双引号。

示例:

Pattern p = Pattern.compile("class=\"([^\"]*)\"");
Matcher m = p.matcher(yourFileContent);

while( m.find() ) {
  String classValue = m.group( 1 );
  //do whatever you want
}