问题描述
|
我正在对具有不同ID的特定Web服务进行JSON解析,解析返回一些字段,例如\“ Description,unitcost,saleprice,summary等。”在Description字段中,我以HTML格式获取数据,但是HTML结构并不是每个字段都唯一ID,
这些是我正在使用的网址
http://demo.s2commerce.net/DesktopModules/S2Commerce/S2Commerce.svc/rest/ProductID/8/Portal/0
http://demo.s2commerce.net/DesktopModules/S2Commerce/S2Commerce.svc/rest/ProductID/5/Portal/0
我在\“ description \”字段中获取3个网址的数据如下
1。\“ Description \”:\“ <\\ / p> \\ u000d \\ u000a \\ u000d \ u000a此独家版本是宏cer与法拉利之间合作的又一个醒目的标志-两家有着悠久传统的先进公司热情,创新,力量和成功<\\ / p> \\ u000d \\ u000a <\\ / div> \\ u000d \\ u000a \\ u000d \\ u000a独特的版本是宏cer与法拉利之间合作的另一个显着标志,两家宏伟的公司拥有激情,创新,力量和成功的骄人传统。 \ u000a <\\ / div> \\ u000d \\ u000a <\\ / p> \“,
2。\“ Description \”:\“ \ u000d \\ u000a技术先进的傻瓜相机,提供多种开创性技术,例如双重图像稳定,Bright Capture技术和TruePic Turbo,以及功能强大的5倍光学变焦。<\\ / p> \\ u000d \\ u000a <\\ / div> \\ u000d \\ u000a \\ u000d \\ u000aOlympus不断创新,推出了Stylus 750数码相机,这是技术上的尖端傻瓜相机提供多项开创性技术,例如双重图像稳定,Bright Capture技术和TruePic Turbo,以及强大的5倍光学变焦,可融入流线型金属全天候机身设计。具有许多高级功能,其中包括:机械CCD平移图像稳定技术和数字图像稳定技术的先进组合共同作用,以确保在任何情况下均能获得最清晰的图像; \\ u000d \\ u000a *具有新开发镜头的5倍光学变焦镜头保持小巧紧凑的尺寸; \\ u000d \\ u000a * 2.5英寸LCD和Bright Capture Technology显着改善了在弱光条件下的图像合成,捕获和查看; Olympus专有TruePic Turbo图像处理引擎与7.1百万像素图像传感器结合使用,可产生清晰,高质量的p <\\ / p> \\ u000d \\ u000a <\\ / div>
我只想在段落标记之间获得段落。
有人可以建议我这样做吗?
提前致谢
解决方法
您可以使用正则表达式。像这样
String description = \"test <p> some \\n string <\\\\/p> skip this <p> another <\\\\/p> not in range\";
...
if (!\"\".equals(description)) {
Pattern p = Pattern.compile(\"\\\\Q<p>\\\\E[\\\\w|\\\\s]*\\\\Q<\\\\/p>\\\\E\");
Matcher m = p.matcher(description);
while (m.find()) {
String ptag = m.group();
Log.d(\"regex\",ptag);
}
}
这将在<p>
和<\\/p>
之间找到文本的每个部分。也许您需要进行一些修改。查看文档中所有受支持的RegEx说明
, 请看此链接。
TextView内可以有多种样式吗?
您只需要将从json解析的字符串数据设置为此文本视图。