Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use String.split() with multiple delimiters

Tags:

java

regex

People also ask

Can we use multiple split in Python?

split() This is the most efficient and commonly used method to split on multiple characters at once. It makes use of regex(regular expressions) in order to this. The line re.


I think you need to include the regex OR operator:

String[]tokens = pdfName.split("-|\\.");

What you have will match:
[DASH followed by DOT together] -.
not
[DASH or DOT any of them] - or .


Try this regex "[-.]+". The + after treats consecutive delimiter chars as one. Remove plus if you do not want this.


You can use the regex "\W".This matches any non-word character.The required line would be:

String[] tokens=pdfName.split("\\W");

Using Guava you could do this:

Iterable<String> tokens = Splitter.on(CharMatcher.anyOf("-.")).split(pdfName);

The string you give split is the string form of a regular expression, so:

private void getId(String pdfName){
    String[]tokens = pdfName.split("[\\-.]");
}

That means to split on any character in the [] (we have to escape - with a backslash because it's special inside []; and of course we have to escape the backslash because this is a string). (Conversely, . is normally special but isn't special inside [].)