0

次のようなJavaの文字列があります。

holdingco^(218) 333-4444^scott@holdingco.com

それに等しい文字列変数を設定します。

String value = "holdingco^(218) 333-4444^scott@holdingco.com";

次に、この文字列をコンポーネントに分割します。

String[] components = value.split("^");

ただし、文字列は分割されません。ニンジン区切り文字を無駄にエスケープしようとしました。

4

2 に答える 2

8

使用する

String[] components = value.split("\\^");

エスケープ^されていないということは正規表現の文字列の先頭を意味し、エスケープされてい$ないということは末尾を意味します。文字列リテラル"\\"は単一のバックスラッシュを表すため、エスケープには 2 つのバックスラッシュを使用する必要があり、それが正規表現に必要です。

\^1 つのバックスラッシュでエスケープしようとすると、Java では有効なエスケープ シーケンスではないため、コンパイルされませんでした。

于 2013-04-09T18:35:19.037 に答える
0

試してみてください:value.split("\\^");これは少しうまくいくはずです

于 2013-04-09T18:35:18.727 に答える