我是android開發的noob,我試圖從字符串中刪除一串動態字符。我的字符串:如何從字符串中刪除動態字符字符串?
"Beginning of String....<img src="http://webaddress.com" height="1" width="1"/>"
我想刪除 「& LT」, 「& GT」,以及它們之間的一切。我想要的只是「字符串的開始......」到目前爲止,我已經嘗試過這種方式,但沒有成功。
description = description.replaceFirst("(?s)(<)(.*?)(>)","$1$3");
另外我試過這個類似的類似的字符串,它工作正常,所以我不明白我做錯了什麼。
description = description.replaceFirst("(?s)(<sub>)(.*?)(</sub>)","$1$3");
我班
public class RssReader {
private final static String BOLD_OPEN = "<B>";
private final static String BOLD_CLOSE = "</B>";
private final static String BREAK = "<BR>";
private final static String ITALIC_OPEN = "<I>";
private final static String ITALIC_CLOSE = "</I>";
private final static String SMALL_OPEN = "<SMALL>";
private final static String SMALL_CLOSE = "</SMALL>";
public static List<JSONObject> getLatestRssFeed(){
String feed = "http://feeds.feedburner.com/MetalMarketCommentary";
//http://globoesporte.globo.com/dynamo/futebol/times/vasco/rss2.xml
//http://feeds.feedburner.com/GoldMoneyGoldResearch +
//http://feeds.feedburner.com/GoldsilvercomNews +
//http://feed43.com/7466558277232702.xml
//http://feeds.feedburner.com/SilverGoldDaily
//http://feeds.feedburner.com/MetalMarketCommentary
//http://link.brightcove.com/services/player/bcpid1683318714001?bckey=AQ~~,AAAAC59qSJk~,vyxcsD3OtBPHZ2UIrFX2-wdCLTYNyMNn&bclid=1644543007001&bctid=1854182861001
RSSHandler rh = new RSSHandler();
List<Article> articles = rh.getLatestArticles(feed);
Log.e("RSS ERROR", "Number of articles " + articles.size());
return fillData(articles);
}
private static List<JSONObject> fillData(List<Article> articles) {
List<JSONObject> items = new ArrayList<JSONObject>();
for (Article article : articles) {
JSONObject current = new JSONObject();
try {
buildJsonObject(article, current);
} catch (JSONException e) {
Log.e("RSS ERROR", "Error creating JSON Object from RSS feed");
}
items.add(current);
}
return items;
}
private static void buildJsonObject(Article article, JSONObject current) throws JSONException {
String title = article.getTitle();
String description = article.getDescription();
description = description.replaceFirst("(?s)(<sub>)(.*?)(</sub>)","$1$3");
int start = description.indexOf(".&");
description= description.substring(0, start);
String date = article.getPubDate();
String imgLink = article.getImgLink();
StringBuffer sb = new StringBuffer();
sb.append(BOLD_OPEN).append(title).append(BOLD_CLOSE);
sb.append(BREAK);
sb.append(description);
sb.append(BREAK);
sb.append(SMALL_OPEN).append(ITALIC_OPEN).append(date).append(ITALIC_CLOSE).append(SMALL_CLOSE);
current.put("text", Html.fromHtml(sb.toString()));
current.put("imageLink", imgLink);
}
}
XML我解析
<item>
<title>Gold Market Recap Report</title>
<link>http://feedproxy.google.com/~r/MetalMarketCommentary/~3/jGYtkXdSKWs/mid-session-gold_703.html</link>
<description><img src="http://www.cmegroup.com/images/1x1trans.gif?destination=http://www.cmegroup.com/education/market-commentary/metals/2012/09/mid-session-gold_703.html" alt=""/>For the week December gold forged a trading range of roughly $37 an ounce. With gold prices attimes seemingly on the rocks and poised for a downside washout it was a change of pace to see afresh upside breakout in the Friday morning trade....<img src="http://feeds.feedburner.com/~r/MetalMarketCommentary/~4/jGYtkXdSKWs" height="1" width="1"/></description>
<pubDate>Fri, 21 Sep 2012 19:50:37 GMT</pubDate>
<guid isPermaLink="false">http://www.cmegroup.com/education/market-commentary/metals/2012/09/mid-session-gold_703.html?source=rss</guid>
<dc:date>2012-09-21T19:50:37Z</dc:date>
<feedburner:origLink>http://www.cmegroup.com/education/market-commentary/metals/2012/09/mid-session-gold_703.html?source=rss</feedburner:origLink>
</item>
(1)當你說「沒有成功」時,你是什麼意思? (2)你怎麼寫'&lt'和'&gt',而不是'<'和'>'? (3)你說你也想刪除'&lt'和'&gt',但是你的代碼用'&lt;(...)(&gt)'替換爲'&lt;&gt;'。爲什麼是這樣? – ruakh
@ruakh我是新來的正則表達式和fromt他toturials我讀我的理解是,代碼將刪除「字符串開始」後 –