私はこのような文字列を持っています:
String foo = "James Padolsky , Jimmy\\,Hoffa , Jane"
通常の分割で,は、Jimmy\,Hoffa も分割されます。
そうなる
James PadolskyJimmy\HoffaJane
私が必要なのは
James PadolskyJimmy\,HoffaJane
したがって、正規表現は無視し、
どの正規表現で上記の分割が得られるか\,によってのみ分割する必要があります。,
必要なコンマとオプションのスペースを使用した簡単なソリューションを次に示します。
String foo = "James Padolsky , Jimmy\\,Hoffa , Jane";
String[] splitted = foo.split("\\s?,\\s?");
for (String split: splitted) {
System.out.println(split);
}
出力:
James Padolsky
Jimmy\,Hoffa
Jane
注: のバックスラッシュの二重エスケープfoo。そうしないと、String初期化がコンパイルされません。