Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java StringIndexOutOfBoundsException:字符串索引超出范围:-2_Java_String - Fatal编程技术网

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("\"","");