【发布时间】:2014-09-27 19:18:08
【问题描述】:
有一个名为s11 的String,我想从字符串中删除双引号。
s11 字符串包含 4b22a0f8-9047-4fd9-8330-d6fa7c85e90c。
我使用了以下代码:
String s12=s11.substring(1,s11.length()-1);
System.out.println(s12);
我收到以下错误:
java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:
-2
【问题讨论】:
-
s11.length() 的输出是什么?
-
"s11 字符串包含
"4b22a0f8-9047-4fd9-8330-d6fa7c85e90c"" 如果异常来自s11.substring(1,s11.length()-1);行,那么它不包含您声明的内容。我实际上怀疑此异常是否与您发布的代码有关,因为索引-2无法在此处实现(长度()永远不会是负数,因此nonNegativeValue - 1不能永远与-2一起产生)。邮政编码将让我们重现您的问题。同时发布堆栈跟踪。 -
要删除双引号,你可以 String s12=s11.replace("\"", ""); bytheway
-
同意@Pshemo。 s11 很可能是空的,所以
s11.length() - 1是-1并且由于子字符串是上界独有的,因此您会收到一个错误,索引为-2。 -
这个问题与 selenium-webdriver 完全无关。