-2

私は持っています:

<description><![CDATA[<div><b>Details:</b> <div class=ExternalClassCDAAC64F989B48B1AE79489DFBF8C27C><div><span style="font-size:8pt;font-weight:700"><font color="#008080" face=Verdana><span style="text-decoration:none"><a style="text-decoration:none" href="http://unipune.ac.in/other_academic_and_service_units/board_students_welfare/pdf/Annual_Essay_Competition_Covering_26-5-12.pdf" target="_blank"><font color="#008080">Letter Regarding Annual Essay Prize Competition</font></a></span></font></span></div></div></div>
<div><b>Expires:</b> 8/14/2012</div>
]]></description>

hrefコンテンツのみを提供する正規表現が必要です。私はこれで試しました:

String link1 = a.substring(a.indexOf("href=\""), a.indexOf("\""));

しかし、それは私にフォースクローズエラーを与えます。

私が望む出力は次のようなものです。

link = http://unipune.ac.in/other_academic_and_service_units/board_students_welfare/pdf/Annual_Essay_Competition_Covering_26-5-12.pdf

誰か助けてもらえますか?

4

3 に答える 3

1

これを試してください::::ただし、この元の文字列が同じ形式になる場合のみ。

String[] separated = a.spilt("href=\"");
String[] first = separated[1].spilt("\" target");
String link1 = first[0];
于 2012-05-26T08:10:07.443 に答える
0

これを試して

\bhref="([^"<>]+)"

コード

try {
    String resultString = subjectString.replaceAll("\\bhref=\"([^\"<>]+)\"", "link=$1");
} catch (PatternSyntaxException ex) {
    // Syntax error in the regular expression
} catch (IllegalArgumentException ex) {
    // Syntax error in the replacement text (unescaped $ signs?)
} catch (IndexOutOfBoundsException ex) {
    // Non-existent backreference used the replacement text
}

ここでテストします

お役に立てれば。

于 2012-05-26T08:07:39.757 に答える
-1

これを試して。

String link1 = a.substring(a.indexOf("href=\""), a.indexOf("target=")-1);
于 2012-05-26T08:07:31.190 に答える