我有以下字符串并想提取规则的内容,即我的规则描述如下所示:
rule "My Rule Description Looks Like This"
followed by some white space other characters such as quotes".
当我使用以下内容时,我得到一个 java.lang.StringIndexOutOfBoundsException: String index out of range: -2:
String ruleName = rule.substring(rule.indexOf("rule \"" + 7, rule.indexOf("\""));
当我使用 lastIndexOf 时:
String ruleName = rule.substring(rule.indexOf("rule \"" + 7, rule.lastIndexOf("\""));
代码执行正常,但输出如下:
My Rule Description Looks Like This"
followed by some white space other characters and quotes
任何想法为什么第一个选项使用 indexOf 引发异常?