Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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字符串数组_Java_Arrays_Split - Fatal编程技术网

当字符串中有多个字符时,我想拆分java字符串数组

当字符串中有多个字符时,我想拆分java字符串数组,java,arrays,split,Java,Arrays,Split,我使用了.split函数来完成这个任务,但正如我所注意到的,当我的数组中有两个特殊的字符填充了一个空格时,这里是我的代码 String strLine="cat dog man()home(String[welcome)throws , guess {"; String[] words = strLine.split("\\{+|\\(+|\\[+|\\]+|\\)+|\\,|\\s+"); int len=words.length; for(int x=0;x<len;x++){

我使用了.split函数来完成这个任务,但正如我所注意到的,当我的数组中有两个特殊的字符填充了一个空格时,这里是我的代码

String strLine="cat dog man()home(String[welcome)throws , guess {";
String[] words = strLine.split("\\{+|\\(+|\\[+|\\]+|\\)+|\\,|\\s+");
int len=words.length;

for(int x=0;x<len;x++){
      System.out.println(words[x]);
}
String strLine=“cat dog man()home(String[welcome)抛出,猜测{”;
String[]words=strLine.split(“\{+\\\\[+\\\\]+\\\\)+\\\\,\\\\s+”;
int len=单词长度;

对于(int x=0;x,因为您希望将相邻的分隔符字符视为单个分隔符,所以只需将它们组合在单个字符类中即可

\{+\\\(++\[+\\\]+\)+\\,\\\s+→     [{(\[\]),\s]+
但是,由于在
上没有
+
,因此似乎不应将多个逗号视为单个分隔符,因此我们需要以不同的方式处理

您似乎还忘记了
}

[{}()\[\]\s]*,[{}()\[\]\s]*.[{}()\[\]\s]+
作为Java文本:

“[{}()\[\\]\\s]*,[{}()\[\\]\\s]*.[{}()\[\\]\\s]+”

提示:字符列表和“一个或多个”量词为什么不使用if语句?
if(!words[x].trim().isEmpty()){System.out.println(words[x]);}
@Raghav,我想要不带空格的数组-不要显示不带空格的数组。