What is the proper way of inserting a pipe into a Java Pattern expression?
I actually want to use a pipe as a delimiter and not the or operator.
I.E:
"hello|world".split("|"); --> {"hello", "world"}
What is the proper way of inserting a pipe into a Java Pattern expression?
I actually want to use a pipe as a delimiter and not the or operator.
I.E:
"hello|world".split("|"); --> {"hello", "world"}
"hello|world".split("\\\\|"); --> {"hello", "world"}
First set of "\\"
only yields the \ as the delimiter. Therefore 2 sets are needed to escape the pipe.
I have this problem a lot (encoding a regex into a Java String
), so I have bookmarked the regex tool at fileformat.info; it has a nifty function where it will show you the Java String
representation of a regex after you test it.
As already said by Kevin, you need to escape it.
Also if you're using Eclipse or you want to have a WYSIWYG editor for regexps in Java, visit myregexp.com from where you either get as Eclipse plugin or use as applet IMO the best Java regex util I've ever seen.