对子串超出边界异常做出反应的最佳方法

时间:2014-04-23 08:18:38

标签: java string exception

在解析HTML页面的互联网内容时,常见的事情是由于HTML代码中的错误,一些字符不存在 - 例如关闭“或>或其他东西。当解析器遇到这种情况时,有时它会发生”我正在考虑解决这个问题的最佳方法 - 尝试\ catch很好但足够慢。一系列if / else可能会更好但是你可能知道一些允许跳过这种异常情况的机制?

1 个答案:

答案 0 :(得分:0)

您始终可以使用if else链,一次测试每个必需的字符。 while循环也可能用于执行此操作。这是我所知道的最好的两个。

要测试字符串是否存在字符,请使用以下测试

int exists = s.indexOf('<'); //Or any char
int close = s.lastIndexOf('>'); //Or other pair of char

if (exists != -1 && close != -1) { //Could be modified depending on the situation
    //Perform logic
}

要测试''或任何其他相同的括号,我会这样做

int exists = s.indexOf('"'); 
int close = s.lastIndexOf('"');

if (exists != close || (exists != -1 && close != -1) {
    //Perform logic
}