我有以下代码:
String string = "string with delimiter appearing several times. this string contains delimiter appearing again and again and would be used to do something that a delimiter is used for.",
delimiter = "delimiter";
int beginIndex = 0, endIndex = 0;
beginIndex = string.indexOf(delimiter, beginIndex); // returns 13 as expected
endIndex = string.indexOf(delimiter, beginIndex + 1); // returns a 734 instead of the expected 68
这就是问题所在。我不知道为什么endIndex
没有分配下一次出现的delimiter
的值,而是分配了一个远远大于字符串长度的值。关于如何解决这个问题的任何想法?
修改
以上是一个示例场景。这里的实际情况是string
的值是http://sixcritics.com?json=1的内容,而实际的返回值是beginIndex: 70, endIndex: 12046
,分隔符的值是"type":"post"
。字符串的长度小于10000,我不知道12046的来源。