所以我有一个巨大的字符串,我开始搜索
"<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>
(已加星标的文字是我想要的)
提前致谢!
答案 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));
}
}
}