найти конкретные значения из файла, используя Java - PullRequest
1 голос
/ 13 января 2012

У меня есть файл 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. выяснение строки "class =", но как я могу получить значение?

1 Ответ

0 голосов
/ 13 января 2012

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
}
...