2011-12-18 13 views
9

私は次の文字列を分割したい "Good^Evening"私はsplitオプションを使用しました。値を分割しません。私を助けてください。Javaでこの特殊文字を '^'を使用して文字列を分割する方法は?

これは私がしようとしてきたものです:

String Val = "Good^Evening"; 
String[] valArray = Val.Split("^"); 
+1

は私たちに動作しませんでしたコードを表示してくださいしてみてください。 –

+0

String Val = "Good^Evening"; String [] valArray = Val.Split( "^"); –

+0

@ManoharKulanthaivelありがとうございますが、それを参考にして質問を編集してください。 – Bryan

答えて

30

私はあなたのような何かをしたと仮定しています:

String[] parts = str.split("^"); 

splitへの引数は、実際に^は特別な意味を持つregular expression、であるため、動作しないこと。代わりにこれを試してみてください:

String[] parts = str.split("\\^"); 

\\は、(文字列リテラルのJavaエスケープシーケンスとして必要とされる最初の\)単一\に本当に等価です。それは正規表現の特殊文字です。「次の文字を文字通り使用し、特殊な意味を解釈しない」という意味です。

7

あなたが使用する必要があります正規表現はリテラルのJava Stringとして"\\^"として記述され、「\ ^」です。すなわち

String[] parts = "Good^Evening".split("\\^"); 

キャレット文字(「^」)正規表現言語でのメタ文字であるため、正規表現は「\」エスケープが必要です。 '\'は文字列リテラルのエスケープであるため、2番目の '\'エスケープが必要です。

0

この

String str = "Good^Evening"; 
String newStr = str.replaceAll("[^]+", ""); 
関連する問題