Java StringIndexOutOfBoundsException:字符串索引超出范围:-2
有一个名为Java StringIndexOutOfBoundsException:字符串索引超出范围:-2,java,string,Java,String,有一个名为s11的String,我想从字符串中删除双引号。 s11字符串包含4b22a0f8-9047-4fd9-8330-d6fa7c85e90c。 我使用了以下代码: String s12=s11.substring(1,s11.length()-1); System.out.println(s12); 我得到了以下错误: java.lang.StringIndexOutOfBoundsException:字符串索引超出范围: -二, 输出对我来说很好 b22a0f8-9047-4fd9-
s11
的String
,我想从字符串中删除双引号。
s11
字符串包含4b22a0f8-9047-4fd9-8330-d6fa7c85e90c
。
我使用了以下代码:
String s12=s11.substring(1,s11.length()-1);
System.out.println(s12);
我得到了以下错误:
java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:
-二,
输出对我来说很好
b22a0f8-9047-4fd9-8330-d6fa7c85e90
如果只想删除引号,请尝试:
String s12=s11.replaceAll("\"","");
如果异常来自
s11.substring(1,s11.length()-1),则s11字符串包含“4b22a0f8-9047-4fd9-8330-d6fa7c85e90c”
”代码>行,则它不包含您声称的内容。实际上,我怀疑这个异常是否与您发布的代码有关,因为这里无法实现索引-2
(length()从来都不是负数,所以非负数值-1
永远不会与-2
产生结果)。发布代码,让我们重现您的问题。另外,要删除双引号,可以使用字符串s12=s11。替换(“\”,”);顺便说一句,agree with@Pshemo.s11很可能是空的,所以s11.length()-1
是-1
并且由于子字符串是上界独占的,因此您会得到一个索引为-2
的错误。这个问题与selenium webdriver完全无关。
String s12=s11.replaceAll("\"","");