JGC JGC - 5 months ago 9
Java Question

Why can't I split a string with the dollar sign?

Hi
I want to split a string which has content like this:

a$b$c


but when I use:

String data=...
data.split("$");


it does not recognize $ and do not split string but when I replace $ by some Letter like X it works.
does anyone has any Idea?

Answer

The split function takes a regular expression, not a string, to match. Your regular expression uses a special character - in this case '$' - so you would need to change it to escape that character:

String line = ...
String[] lineData = line.split("\\$");

Also note that split returns an array of strings - Strings are immutable, so they cannot be modified. Any modifications made to the String will be returned in a new String, and the original will not be changed. Hence the lineData = line.split("\\$"); above.

Comments