Android搜索字符串和“修剪”

时间:2014-01-22 13:35:54

标签: java android string trim

所以我有一个巨大的字符串,我开始搜索

"<div style=\"font-size:15px;\"><b>"

"</b></div>"

就像这样:(它实际上是一个IF声明。)

htmlCode.contains("<div style=\"font-size:15px;\"><b>") 
&& htmlCode.contains("</b></div>")

无论如何,在第一个"<div style=\"font-size:15px;\"><b>"之后出现文本,在文本之后出现第二个部分。 ("</b></div>"

现在,我想'获取'那段文字,最后删除其他文字,然后保留'中间文字'。

我一直在寻找一段时间,找不到解决方案。

如果您可以发布一个文档链接,或者可能是一个示例,那就太棒了。

额外信息:

   /*
    * 1. Search for "<div style="font-size:15px;"><b>" ** TITLE COMES HERE **
    * 2. Search for "</b></div>" ** This is after the Title, so Title is between 1 and 2.
    * 3. Search for "<div style="float:left;"><a href="" ** Link Comes Here **
    * 4. Search for "" rel="nofollow" target="_blank" style="color:green;">" ** Same as 2. // Link Instead ** 
    * 
    * -- How it should do it --
    * 1 -> Wait -> 2 -> Wait -> Get the text between 1 and 2 -> Save in String (Array) -> 3 -> Wait -> 4 -> Wait
    * -> Get the text between 3 and 4 -> Save in String (Array) -> Repeat Process (Max 25(?)).
    */

完整字符串的示例是:

<div style="font-size:15px;"><b>**My Little Pony.**</b></div>

(已加星标的文字是我想要的)

提前致谢!

2 个答案:

答案 0 :(得分:3)

你需要找到第一段html Code.indexOf(“”)的索引,并使用html Code.substring(int start,int length)来查找片段之间的文本。

int index1 = htmlCode.indexOf("<div style=\"font-size:15px;\"><b>");
int index2 = htmlCode.indexOf("</b></div>");

String textInsideDiv = htmlCode.substring(index1+"<div style=\"font-size:15px;\"><b>".length(), index2);

答案 1 :(得分:2)

你应该使用java regexps,请看这里:

http://www.vogella.com/tutorials/JavaRegularExpressions/article.html

<强> 6.4。构建链接检查器

以下是进行此类提取的示例

import java.util.*;
import java.lang.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Rextester
{  
    public static void main(String args[])
    {
      Pattern  htmltag = Pattern.compile("<div style=\"font-size:15px;\"><b>(.*?)</b></div>");
      String subjectString =             "<div style=\"font-size:15px;\"><b>**My Little Pony.**</b></div>";
      Matcher tagmatch = htmltag.matcher(subjectString);
      while (tagmatch.find()) {
        System.out.println(tagmatch.group(1));
      }
    }
}