如何使用特殊字符& |和Split在Split()方法?

时间:2015-01-04 15:22:24

标签: java special-characters tokenize stringtokenizer

我试过

String text = "1&2⊕3|4";
String[] s = text.split("|⊕&");

没有发生任何事,我也试过

String text = "1&2⊕3|4";
String[] s = text.split("\\|\\⊕\\&");

没有任何事情发生。那么,我该怎么办?

2 个答案:

答案 0 :(得分:4)

最简单的方法是通过添加括号来创建字符类

String text = "1&2⊕3|4";
String[] s = text.split("[|⊕&]");

您可以在this excellent tutorial中阅读有关角色类的更多信息。

答案 1 :(得分:1)

split使用Regex

您正在分割String" |⊕&"。您需要Character Class上的split

String[] s = text.split("[|⊕&]");

虽然您需要在Regex中转义特殊字符|&,但如果它们在字符类中,那么您不需要。实际上只需要在一个字符类中转义结束括号]和反斜杠(严格来说-需要转义,但如果要么从类结束开始,则不会转义。) p>