简体   繁体   中英

Java split string with “||” taking it as regex instead of string

I have the following string "ABC" and "AAA||BBB"

I am trying to split it using the characters "||" but the split method is taking this as a regex expression, returning an array of characters instead of {"ABC"} and {"AAA", "BBB"}

I have tried scaping the bar with a back slash, but that didn't work.

How can I make the split method to take "||" as a String and not as a regex?

Thanks

Escape the pipes

Use \\\\|\\\\| instead

If you don't want to deal with escaping then you can use Pattern#quote :

String[] tok = "AAA||BBB".split(Pattern.quote("||"));

OR simple:

String[] tok = "AAA||BBB".split("\\Q||\\E"));
   String[] result = "The||man is very happy.".split("\\|\\|");

    for (int x=0; x<result.length; x++){

        System.out.print(result[x]);
     }

There you go its simple

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM