heisenbergman
heisenbergman

Reputation: 1449

String.split() --- How do I treat consecutive delimiters as one?

For two sample strings in variable temp such as these:

(1) "|RYVG|111|9|"
(2) "|RYVG|111||9|"

I want to do the following:

String splitRating[] = temp.split("\\|",);

But I want the result to be the same, which is:

splitrating[0] = ""
splitrating[1] = "RYVG"
splitrating[2] = "111"
splitrating[3] = "9

This means that I need to treat that double "|" as one delimiter. Is there any way to do this while still using String.split()?

Upvotes: 15

Views: 9284

Answers (4)

Agilan Utheeban
Agilan Utheeban

Reputation: 1

StringUtils split method considers the consecutive delimiters as one delimiter.

org.apache.commons.lang.StringUtils.split("|"); 

Upvotes: 0

Mohsin Shaikh
Mohsin Shaikh

Reputation: 504

Yes it is possible

 class  Split
{
public static void main(String[] args) 
{
    String temp="|RYVG|111||9|";

    String splitRating[] = temp.split("\\|+");

    for(String split:splitRating){
    System.out.println(split);
}
}
    }

Upvotes: 0

Rahul Tripathi
Rahul Tripathi

Reputation: 172428

Try this:-

String splitRating[] = temp.split("\\|+");

Upvotes: 1

Blender
Blender

Reputation: 298166

Add a + to match one or more instances of the pipe:

temp.split("\\|+");

Upvotes: 22

Related Questions