[Basic] splitting a string
ok, I'm pretty embarrassed to be posting such a simple question, I feel like I've done this in much harder applications like a million times...
String[] wordVar = text.split("$");
Why does the above code not split the String 'text' at each occurrence of a "$"? Is the "$" a special character or something? when I execute this code and then get text.length; it returns 1 regardless of the number of "$"s..
What am I doing wrong?
Related Article: SPLIT STRING FROM TEXTFILE
is a solved Java discussion thread by hyung101 that has 2 replies, was last updated 1 year ago and has been tagged with the keywords: split, string.
FALL3N
Junior Poster in Training
89 posts since May 2010
Reputation Points: 10
Solved Threads: 2
Skill Endorsements: 0
Yes, the param for split is Regex, and $ is a special char in regular expressions. You have to escape it with a backslash to use it as a literal $
JamesCherrill
... trying to help
8,667 posts since Apr 2008
Reputation Points: 2,636
Solved Threads: 1,477
Skill Endorsements: 33
But this does not work either...
String[] text = word.split("\$");
should I declare the "\$" as part of a Pattern? Or a Matcher? or use ' instead of "? I know this started out ridiculous, and just keeps getting more ridiculous, but I am really getting thrown by this.
FALL3N
Junior Poster in Training
89 posts since May 2010
Reputation Points: 10
Solved Threads: 2
Skill Endorsements: 0
That's right. It's messy, but $ is a special char in a RegEx and needs to be escaped with a \. But \ is a special char in Java string literal, and needs to be escaped with a second \. So to get a literal $ in a RegEx you need the Java string literal "\\$"
JamesCherrill
... trying to help
8,667 posts since Apr 2008
Reputation Points: 2,636
Solved Threads: 1,477
Skill Endorsements: 33
hmm.. That's why it was not working right... thanks guys!
FALL3N
Junior Poster in Training
89 posts since May 2010
Reputation Points: 10
Solved Threads: 2
Skill Endorsements: 0
Question Answered as of 1 Year Ago by
JamesCherrill
and
DavidKroukamp