2

こんにちは、Google Feed API から返された結果からタグを削除する方法を見つけようとしています。彼らの結果は

   Breaking \u003cb\u003eNews\u003c/b\u003e Updates

これらの文字を削除するにはどうすればよいですか? RegEx の方が優れている (または劣っている) かどうかはわかりません。これらを削除する方法を知っている人はいますか? Google は、Java の結果からタグを削除するオプションを提供していません。

4

4 に答える 4

1

私はそれらを日常的に引っ張る

String.replaceAll("\\p{Cntrl}","")
于 2012-10-11T06:51:00.657 に答える
0

最善の解決策は、JSONを使用してデータを変換することです。

JSON.parse(JSON.stringify({a : '<put your string here>'}));

Google APIから取得するデータはJSONの形式であるため、これは適切です。

于 2012-10-11T06:45:26.510 に答える
0

This is HTML. \u003cb\u003e translates to <b>.

You'll want to use an HTML parser as HTML is not fully parse-able by a regular expression.

With a library like Jsoup you could do this as.

String data = Jsoup.parse(html).body().text();

This will get you "Breaking News Updates".

于 2012-10-11T07:37:13.533 に答える
0

以下の正規表現を使用できます。

String str = "Breaking \u003cb\u003eNews\u003c/b\u003e Updates";
str = str.replaceAll("\\<(.*)?\\>(.*)\\</\\1\\>", "$2");
System.out.println(str);

出力:-

Breaking News Updates
  • \\<(.*)?\\>最初の開始タグに一致します-<b>
  • \\</\\1\\>対応する終了タグに一致します-</b>
  • \\1タグの正しいペアが一致するように、タグが何であったかを逆参照するために使用されます。

したがって、<b>news <update></b>->この場合<update>は削除されません。

于 2012-10-11T06:53:21.170 に答える