私は私のJavaの文字列配列を分割したいとき、私の文字列に近い内に複数キャラ

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]+"

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=401109&siteId=1