子串索引超出范围,即使索引< string.length减

时间:2014-06-30 20:20:06

标签: indexing substring bounds

我正在尝试从我拥有的大量数据中获取子字符串,但是当我使用此行时:

string output = datastring.substring(0, datastring.Length-1)

它告诉我索引超出范围(“索引和长度必须引用字符串中的位置”)。

这很好用,因此outputtring打印出与datastring

相同的东西
while (index < datastring.Length)
        {
            outputstring += datastring[index];
            index++;
        }

然而,这给了我一个错误:

if (index + 10 < datastring.Length)
{
      if (datastring.substring(index, index+10) == "name")
      {
            outputstring += " found instance of 'name'";

      }      

}

它说索引超出范围。当我已经检查过索引+ 10在范围内时,如何在第二个'if'语句中超出索引范围?

1 个答案:

答案 0 :(得分:0)

它是.substring(offset, length),而不是.substring(startOffset, endOffset)

而不是

datastring.substring(index, index+10)

使用

datastring.substring(index, 10)