gpt4 book ai didi

Java字符串拆分给出数组索引越界错误

转载 作者:行者123 更新时间:2023-11-29 03:01:31 25 4
gpt4 key购买 nike

我今天遇到了这个不寻常的错误。谁能解释我做错了什么。下面是代码:

AreStringsPermuted checkStringPerObj = new AreStringsPermuted();
String[] inputStrings = {"siddu$isdud", "siddu$siddarth", "siddu$sidde"};
for(String inputString : inputStrings){
String[] stringArray = inputString.split("$");
if(checkStringPerObj.areStringsPermuted(stringArray[0],stringArray[1]))
System.out.println("Strings : " + stringArray[0] + " ," + stringArray[1] + " are permuted");
else
System.out.println("Strings : " + stringArray[0] + " ," + stringArray[1] + " are not permuted");
}

当我尝试拆分字符串时,上面的代码出错了。出于某种原因,当我尝试使用“$”划分每个字符串时,split 不起作用。谁能解释一下我在这里做错了什么?

错误信息如下:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at arraysAndStrings.TestClass.checkStringsPermuted(TestClass.java:24)
at arraysAndStrings.TestClass.main(TestClass.java:43)

最佳答案

String.split() takes a regular expression , 因此您需要引用包含在正则表达式中具有特殊含义的字符的字符串。

String regularExpression = Pattern.quote("$");
for (String inputString : inputStrings) {
String[] stringArray = inputString.split(regularExpression);

关于Java字符串拆分给出数组索引越界错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34541107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com