javaで関数を分割したいのですがうまくいきません。
String mystring = "ersin#$gulbahar#$ev";
String [] scripts= mystring.split("#$"); //it does not split.
どうすればこれを修正できますか?
String mystring = "ersin#$gulbahar#$ev";
String[] scripts = mystring.split("#\\$");
System.out.println(Arrays.toString(scripts));
出力:
[ersin, gulbahar, ev]
split
パラメータとして正規表現を取り、$
「文字列の末尾に一致する」ことを意味する正規表現の特殊文字です。
文字列の末尾ではなくリテラルに一致させたいので$
、バックスラッシュでエスケープする必要があります:mystring.split("#\\$");
動作するはずです。
これを試して:
mystring.split("#\\$")
split メソッドは正規表現を使用してテキストを分割します。 $ 文字は正規表現で他の意味を持ちます
式で $ をエスケープします。split() は、正規表現をパラメーターとして取ります。よくある問題...