2013-03-19 13 views
12

ヘルプが必要です。正規表現Java文字列単一アスタリスクで分割

line.split("*"); 

このコード行を使用して、文字列をアスタリスク記号に分割しました。しかし、コンパイラからエラーが出ました。それは、 "無効な表現:ダングリングメタキャラクター" * "

この問題を解決するにはどうすればいいですか?前もって感謝します。

+3

ここで答えを「受け入れる」のが普通です。あなたが一番いいと感じる答えを自由にチェックしてください。 – squiguy

+0

はい、私は最高のものをチェックします。 :) – princepiero

答えて

24

*は正規表現で特別な意味を持ちます。あなたはそれをエスケープする必要があります。

line.split("\\*"); 
+0

うわー、これは動作します!ありがとう! – princepiero

2

この文を試してみてください:

line.split("\\*"); 
+0

はい、これは動作します。ありがとう! – princepiero

2

あなたは "*" を使用しているので、それはそれは正規表現です。

line.split("\\*"); 
2

*は、正規表現でメタ文字です:あなたはこのcaracterを使用する場合は、TUはそのような何かを置く必要があります。これは、0個以上の要素のマッチングに使用されます。 *を通常の文字として使用し、特殊文字として使用しない(つまり、その動作をメタ文字としてスキップする)場合は、その前にエスケープ文字を追加します。

例:String[] split = line.split("\\*");

は、この情報がお役に立てば幸いです。

関連する問題