2012-02-13 4 views
2

私は以下の文字列を持っており、a hrefタグから数値()を派生させたいと思います。どうすればこの番号を得ることができますか?文字列から特定のデータを派生させる方法はありますか?

Hello this is testing string <a href=\"/testing/104321\">Ap</a><img src=\"Image Url" width=\"222\" height=\"149\"/><br/><br/>test\u00e4n p\u00e4\u00e4ll\u00e4 test, test\u00e4, test? 

私は最終的な出力をこのようにします。

String[] strExample= {"testing", "104321","test\u00e4n p\u00e4\u00e4ll\u00e4 test, test\u00e4, test?"}; 

助けていただければ幸いです。

答えて

2

あなたは正規表現を持つ単純なパターンマッチを試みることができる:

String THE_PATTERN = "<a\\s+href\\s*=\\s*\"/([a-zA-Z]+)/([0-9]+)"; 
Matcher m = Pattern.compile(THE_PATTERN).matcher(THE_INPUT_STRING); 
String[] results = new String[2]; 
if (m.find()) { 
    results[0] = m.group(1); 
    results[1] = m.group(2); 
} 

は、しかし、それを試していないので、小型/簡単に修正エラーがある可能性があります。

String[] strExample = str.split("^.+?\\\"/|\\\\\">.+<br/>|/"); 

が動作することを一つのケースについては

+0

私は答えました(あなたは3番目の文字列にマッチしました)ので質問を変更しました。正規表現を適合させて、マッチさせたい3番目の部分を括弧で囲み、m.group(3)がそれを返します。 regexpと 'Matcher'の詳細については' Pattern' javadocを見てください –

+0

ありがとうございます。もう一度私を助けることができますか?私はまた、
タグの後の文字列が欲しいです。私も私の質問を変えます。これを見て解決策を教えてください。私はいつもあなたに感謝しています。 –

+0

私は決してパターンとマッチャーを使用していませんので、もう一度問題を解決するのを助けてください。 –

0

。解析したい文字列が多く変更されても、破損します。あなたが考慮する必要のあるパターンがもっとある場合は、おそらくいくつかの例があります。

関連する問題