Rayan9X:
タスクを実行するために、私は.split機能を使用しましたが、私はスペースで埋め私の配列は、ここに私のコードであるの近くに2人の特別なキャラがあるときに気づきました
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]);
}
私は、スペースの任意の提案せずに私の配列をしたいです
アンドレアス:
あなたは、隣接する区切り文字を単一の区切り文字として扱われることをしたいので、ちょうど単一の文字クラスにそれらを結合。
\{+|\(+|\[+|\]+|\)+|\,|\s+ → [{(\[\]),\s]+
しかし、あなたが持っていないので、+
上に,
、我々が違ったことを処理する必要があるので、複数のコンマは、単一のセパレータとして扱われるべきではないと思われます。
あなたが忘れてしまったようにそれはまたそうです}
。
[{}()\[\]\s]*,[{}()\[\]\s]*|[{}()\[\]\s]+
Javaリテラルとして:
"[{}()\\[\\]\\s]*,[{}()\\[\\]\\s]*|[{}()\\[\\]\\s]+"