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

java

Solution

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.

Problem

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?

Original source