VB.Net子串错误

时间:2013-12-21 00:35:56

标签: vb.net substring

目前,我有三个不同的时间运行以下代码,只需更改变量即可背靠背:

    txtCourseName.LoadFile(strRootLocation + "\subject\" + strSubject + "\" + "\class\" + cmbCourses.SelectedItem, RichTextBoxStreamType.PlainText)
    aData = txtCourseName.Text
    i = aData.IndexOf("<h3 class=""panel-title"">") + "<h3 class=""panel-title"">".Length
    j = aData.IndexOf("</h3>") - i
    txtCourseName.Text = aData.Substring(i, j)

每次运行时,正在使用的富文本框都会更改,aData会更改为bData,cData等,以及ij正在编制索引的数据改变了。它将在前两次迭代中正常运行,将它应该返回到文本框中,但是在第三次迭代中,它为System.ArgumentOutOfRangeException提供了Length cannot be less than zero的附加信息。

我唯一可能导致这种情况的假设是,我在下面包含的第三次迭代只能找到一个7个字母的长字符串,这会引起一些数学问题。

我不知道如何解决这个问题。

    txtCourseNumber.LoadFile(strRootLocation + "\subject\" + strSubject + "\" + "\class\" + cmbCourses.SelectedItem, RichTextBoxStreamType.PlainText)
    cData = txtCourseNumber.Text
    i = cData.IndexOf("Course Number: </b>") + "Course Number: </b>".Length
    j = cData.IndexOf("</li>") - i
    txtCourseNumber.Text = cData.Substring(i, j)

每次迭代返回的示例数据

aData - “英语4”
bData - “在这里插入一些非常长的课程描述”
cData - “10045C”

0 个答案:

没有答案