Javaの - 衝突正規表現とのstring.Split

mettleap:

私は最近、この問題に出くわし、それを解決する方法がわかりません。私は、Stringクラスでは、我々が持っていることを知っているスプリット正規表現を受け入れ、正規表現に基づいた方法を、指定した文字列が異なる文字列に分割され、文字列の配列に返さ。

例えば、私が持っている場合は、

String s = "A,B,C";

そして私は、やります

System.out.println(Arrays.toString(s.split(",")));

それは、出力コンソールに[A、B、C]を表示します。

今度は、私の文字列があるとしましょう

String s = "A,\"\"B\"\",\"\"C\"\",D";   //easier to read version: A,""B"",""C"",D

そして私は、文字列を分割するには、以下の正規表現を使用し、

String regex = ",|,\"\"|\"\",|\"\",\"\"";  // matches , OR ,"" OR "", OR "",""
System.out.println(Arrays.toString(s.split(regex)));

Iは[A "" B "" C、D]として出力を得ます。どのように分割するには、こちらに働いていますか?そして、どのように私は私が私の出力として[A、B、C、D]を得るようにというのが私の正規表現を定義していますか?

注:私は(でReplaceAllメソッドのような)他の方法で行うことができます達成したいものを知っているが、私は、私はこのケースではそれを使用する方法を知りたいので、この問題のためのstring.Splitを使用したいです。

この:

常にsmalestへの最大の選択肢を注文します:

String regex = "\"\",\"\"|,\"\"|\"\",|,";

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=197348&siteId=1