I have following code to split a string:
String s = "100$ali$Rezaie" ;
String[] ar = s.split("$") ;
But it doesn't work. Why?
Thanks for any suggestion.
split takes a regex as an argument. $ is a meta-character used as an anchor to match end of a String. The character should be escaped to split on a literal $ String
String[] ar = s.split("\\$");
Because public String[] split(String regex) accepts Regex as an argument and not a String.
$ is a meta-character that has a special meaning.
You should escape this $: \\$.
By escaping this, you're telling split to treat $ as the String $ and not the Regex $.
Note that escaping a String is done by \, but in Java \ is wrote as \\.
Alternative solution is to use Pattern#quote that "Returns a literal pattern String for the specified String:
String[] ar = s.split(Pattern.quote("$"))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With