我正在尝试为Android创建一个简单的rss阅读器,它基本上正在运行。问题是,为了显示文章的内容,我使用rss中的<description>
标签。它似乎没问题,但是有一个<img>
标签通常会因为屏幕较大而脱离屏幕。
我使用getSettings()
调整大小来适应屏幕,但这也会对文本的size
造成影响。
所以我想从描述中提取文本和img标记,并将它们存储到两个不同的字符串中,以便能够更轻松地格式化它们。我尝试使用正则表达式和我发现的一些java方法,但无法使其正常工作。
描述标签以这种方式形成:
<p style="text-align: justify;"><img src="http://url" alt="something here" style="display: block; margin-left: auto; margin-right: auto;" />a block of text goes here</p>
所以我想要两个字符串:
str1 = <p style="text-align: justify;">a block of text goes here</p>
str2 = <img src="http://url" alt="something here" style="display: block; margin-left: auto; margin-right: auto;" />
最好的方法是什么?
答案 0 :(得分:2)
试试这个
String s1 = s.replaceAll(".+(<img.+?/>).+", "$1");
String s2 = s.replaceAll("(.+)<img.+?/>(.+)", "$1$2");
答案 1 :(得分:1)
如果格式是坚定的,简单的解决方案将在前两个'>'
字符位置分割成三个字符串,然后将第三个和第一个连接到str1。 (但它假定'>'
不会出现在图片alt描述中)