如何删除字符串中不需要的字符

问题描述:

嗨我正在从服务器获取json响应。我解析它。但是从响应字符串看起来像这样如何删除字符串中不需要的字符

roominfo < BR/> < BR/> <p> <强>声明和费用:< /强> < BR/> </P > <p> <UL> <li>总价中包括了度假费</li > </ul > </p > <p> </P > <p> </P > <p>以下费用和押金由酒店在提供服务时收取,办理入住或退房手续。 <UL> <李>代客停车费用:每晚30美元(输入/输出特权)< /李> <李>宠物费:每次住宿< /李> <李>费所有公共区域无线上网USD 45: USD 11.95(24小时,费率可能会发生变化)< /锂> <利>费用室内无线上网:USD 11.95(24小时,费率可能会发生变化)< /锂> </UL > </p > <p>上面所列内容可能并不完整。费用和押金可能不包括税费,并可能随时更改。 </P >

如何从这个字符串中删除不需要的字符

+1

哪些字符是不想要的? – aroth 2012-04-11 04:48:33

+0

您是否试图说HTML标签是不需要的? – kmb64 2012-04-11 04:50:15

+0

我认为这是一个重复的http://*.com/questions/5002111/javascript-how-to-strip-html-tags-from-string – 2012-04-11 04:51:56

如果您不需要的角色是HTML标签,然后使用这个

String noHTMLString = htmlString.replaceAll("\\<.*?>",""); 

它使用正则表达式来移除封闭的任何文本与括号。

+0

这可能会意外删除之间的任何文本。想象一下,如果流是数学问题的表示?有时候人们也会在它们之间放置一些东西,例如http://test.ws/param= 。只要你意识到并且知道从流中期望什么,这就没问题了。 – RobGThai 2012-04-11 05:20:09

有一些HTML标签被Html Class支持。 看到这个http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html

你可以android的Html类来删除或处理这些标签。格式会是这样的。

Html.fromHtml(text).toString();

但也有其不被HTML类支持,所以你可以使用web视图来处理这些标签几个html标签。在Java中使用jsoup

使用jsoup解析

jsoup

例如,你可以这样做:

String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>"; 
Document doc = Jsoup.parse(html); 
Element link = doc.select("a").first(); 

String text = doc.body().text(); // "An example link" 
String linkHref = link.attr("href"); // "http://example.com/" 
String linkText = link.text(); // "example"" 

String linkOuterH = link.outerHtml(); 
// "<a href="http://example.com"><b>example</b></a>" 
String linkInnerH = link.html(); // "<b>example</b>"