indexOf方法是查找指定的字符串的位置,int类型。
通过查找指定的tag标签的位置,确定这个标签的起始位置。然后再用字符串截取substring吧起始位置中间的字符串返回。
public static String parse(String xml,String tab){
String s="";
int startIndex=-1;
int endIndex=-1;
startIndex=xml.indexOf( "<"+tab+">");//指定的标签开始位置
endIndex=xml.indexOf(""+tab+">");; //结束位置
if(startIndex!=-1){//不等于负一说明制定的标签存在
int contentStart=xml.indexOf('>',startIndex)+1; //找到起始标签的结束符
s= xml.substring(contentStart,endIndex); //从结束符截取到结束位置
}
return s;//返回内容;
}
startIndex=xml.indexOf( "<"+tab+">");
就是找到xml中变量 tab 首次出现的位置
endIndex=xml.indexOf(""+tab+">");
就是找到xml中变量 tab 最后出现的位置
若 xml = "abcdefba" tab = "b"
那么 startIndex=1,endIndex=6
若xml 中不存在 "b" 那么startIndex=-1,endIndex=-1
索引从0开始```
int contentStart=xml.indexOf('>',startIndex)+1
表示找到该字符串开始出现的下一个索引
s= xml.substring(contentStart,endIndex);
表示从起始索引截取字符串到结束索引
这类似 contentStart<= s < endIndex
就是讲开始的索引字符可以取到,但结束(endIndex)的索引字符取不到