Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

java

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?

like image 280
JGC Avatar asked Jan 30 '10 18:01

JGC


People also ask

How do you break a string with special characters?

To split a string by special characters, call the split() method on the string, passing it a regular expression that matches any of the special characters as a parameter. The method will split the string on each occurrence of a special character and return an array containing the results. Copied!

How do I split a string without a separator?

Q #4) How to split a string in Java without delimiter or How to split each character in Java? Answer: You just have to pass (“”) in the regEx section of the Java Split() method. This will split the entire String into individual characters.


1 Answers

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.

like image 74
aperkins Avatar answered Nov 07 '22 16:11

aperkins