如果我传递一个 |,我刚刚注意到 .split() 函数有些奇怪。对它来说,它将字符串拆分为字符。我测试了它:
String s = "Hiya there | how are you | im fine thanks";
for(String str : s.split("|")) {
System.out.println(str);
}
并将其拆分为单独的字符。我尝试反斜杠它,但没有用。
有谁知道如何将它实际拆分为 | ?
最佳答案
String#split
以正则表达式作为参数,其中 |
具有特殊含义,用于交替
。
您可以使用两种方法让自己摆脱困境:-
转义
|
。请记住,在 Java 中您需要使用双反斜杠:-s.split("\\|");
使用字符类:-
s.split("[|]");
在一个字符类中,除了-
之外的任何字符,也用在中间,没有任何特殊意义。所以,[|]
只是一个 |
而已。
是的,您还需要按照@JanDvorak 评论中指定的字符类 转义]
。
关于java - 分割字符串java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14223938/