java中的startindex与indexof用法问题

public 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;
}

谁能帮我解析下上面的代码,越详细越好~谢谢了~

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;//返回内容;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-05-25
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)的索引字符取不到

java中的startindex与indexof用法问题
indexOf方法是查找指定的字符串的位置,int类型。通过查找指定的tag标签的位置,确定这个标签的起始位置。然后再用字符串截取substring吧起始位置中间的字符串返回。public static String parse(String xml,String tab){ String s="";int startIndex=-1;int endIndex=-1;startIndex=xml.indexOf( "<"+...

Java问题,String类中的indexOf()方法...
语法为strObj.indexOf(subString[, startIndex])。参数:1、strObj:必选项。String 对象或文字。2、subString:必选项。要在 String 对象中查找的子字符串。3、starIndex:可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查。

java中indexOf的使用
首先,indexOf('Z',2)的2代表的是从你的字符串第3[请注意是3,它已经跳过了第一个Z]个字符开始找'Z'字符,找到后返回'Z'字符的位置,请注意,这个时候返回的位置数[你这里是5]又是从0位置开始计数的.所以indexOf('Z',3)找到的那个Z也是和indexOf('Z',2)找到的Z的位置是一样的 ...

index 和 indexOf 具体怎么使用
String.indexOf函数用法小结 1. indexOf的参数是String, startIndex: Number;indexOf的返回值为int,2. Function indexOf 包含如下几个格式:1). Strng.indexOf(substring) \/\/搜索String中的substring,默认从0位开始;2). String.indexOf(substring, int m) \/\/搜索String中的substring, 默认从第m位...

在java如何匹配一个字符,是不是问题,怎么解决
1、返回 String 对象内第一次出现子字符串的字符位置。2、string.indexOf(subString[, startIndex])1)参数 string 必选项。String 对象或文字。subString 必选项。要在 String 对象中查找的子字符串。starIndex 可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找...

关于c#中StartIndex不能小于0的问题,怎么解决?
由你的代码可以看出肯定是截取出错,帮你修改了一下代码:string tmp = ;if(FileType.Length 1)tmp = FileType.Substring(1,FileType.Length-1);int start = FCKeditor1.Value.IndexOf(UploadPath);if(start < 0)start = 0;int end = FCKeditor1.Value.IndexOf(tmp) - FCKeditor1.Value.Index...

java中怎么判断一个字符串中包含某个字符或字符串
Java中字符串中子串的查找共有四种方法,如下:1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。3、int lastIndexOf(String str) :返回在此...

java中的lastIndexOf搜索问题
说明 lastIndexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。如果 startindex 是负数,则 startindex 被当作零。如果它比最大字符位置索引还大,则它被当作最大的可能索引。从右向左执行查找。否则,该方法和 indexOf 相同。

Java中查找字符串indexof()方法是怎么计算起始位置的
abc ".indexOf("abc") = 0;"a bca bca bc".indexOf("abc") = -1; \/\/找不到 答案补充 不好意思, 我的回答下面这句话是错误的 比如那那个字符串"The piano" T的索引是0, p的索引是3 正确的应该是 比如那那个字符串"The piano" T的索引是0, 空格的索引是3, p的索引是4 ...

jsindexof()定义和用法
`startIndex`:从该索引处开始搜索,默认为0。详细解释:1. 基本用法:`indexOf`方法用于查找一个字符串在另一个字符串中的位置。如果找到了目标字符串,则返回其首次出现的位置;如果没有找到,则返回-1。2. 参数说明:`searchValue`参数是要查找的字符或字符串。你可以使用它来查找单个字符或子字符...

相似回答