HTML を解析するとき、「>」があるたびにchar
、その後に数字があるかどうかを確認する必要があります。番号は 1 桁、2 桁、3 桁のいずれかです。
コードは問題ないようですが、常にStringIndexOutOfBoundException
.
コード:
while (matches < 19)
{
more = dataInHtml.indexOf(">",index);
nextOne = dataInHtml.charAt(more + 1);
nextTwo = dataInHtml.charAt(more + 2);
nextThree = dataInHtml.charAt(more + 3);
if (Character.isDigit(nextOne)) digitOne = true;
if (Character.isDigit(nextTwo)) digitTwo = true;
if (Character.isDigit(nextThree)) digitThree = true;
if (digitThree)
{
data[matches] = dataInHtml.substring(more + 1, 3);
matches++;
digitThree = false;
digitTwo = false;
digitOne = false;
index = more + 3;
itWasADigit = true;
}
if (digitTwo)
{
data[matches] = dataInHtml.substring(more + 1, 2);
matches++;
digitTwo = false;
digitOne = false;
index = more + 2;
itWasADigit = true;
}
if (digitOne)
{
data[matches] = dataInHtml.substring(more + 1, 1);
matches++;
digitOne = false;
index = more + 1;
itWasADigit = true;
}
if (!(itWasADigit))
{
index = more + 1;
itWasADigit = false;
}
}