为什么方法String.split()会拆分包含|&引用;出人意料地
当我想用String.split(“|”)方法拆分字符串“aaaa | bbbbb | 123456”时,结果出乎意料 我的代码:为什么方法String.split()会拆分包含|&引用;出人意料地,string,split,String,Split,当我想用String.split(“|”)方法拆分字符串“aaaa | bbbbb | 123456”时,结果出乎意料 我的代码: String s = "aaaa|bbbbb|123456"; String[] temp = s.split("|"); for (String str:temp) { System.out.println(str); } 但结果是: a a a a | b b b b b | 1 2 3 4 5 6 char“|”有什么特别之处吗?您需要逃离管道:
String s = "aaaa|bbbbb|123456";
String[] temp = s.split("|");
for (String str:temp) {
System.out.println(str);
}
但结果是:
a
a
a
a
|
b
b
b
b
b
|
1
2
3
4
5
6
char“|”有什么特别之处吗?您需要逃离管道:
String[] temp = s.split("\\|");
管道符号|
在正则表达式中有特殊含义,用于表示替换。您的原始代码导致每个字符之间发生拆分,这不是您想要的。使用转义序列
String s="aaaa|bbbbb|123456";
String [] temp=s.split("\\|");
for(String str:temp) {
System.out.println(str);
}
在Java中,以下字符必须在正则表达式中转义 .[]{}()*+-^$| 您可以在拆分期间对
|
字符进行转义
string.split("\\|");
您还可以使用StringTokenizer
实现相同的功能,如下所示
字符串测试=“abc.def.123”
要了解有关必须使用正则表达式模式转义的字符列表的更多信息,请查看Sting split(String regex)方法需要一个正则表达式作为其参数。它会围绕给定正则表达式的匹配项拆分此字符串
前面的反斜杠(\)将元字符转换为文字字符。因为这也是字符串中的Java转义字符,所以需要使用“\”来表示反斜杠字符。要在Java中拆分带有文字“|”字符的字符串
you must use split("\\|")
。比如说,
String s="aaaa|bbbbb|123456";
String [] temp=s.split("\\|");
for(String str:temp) {
System.out.println(str);
}
尝试使用String.split(“|”)。可能重复的问题我在最初发布后才意识到有一个完全重复的问题,因此我无法结束该问题。
String s="aaaa|bbbbb|123456";
String [] temp=s.split("\\|");
for(String str:temp) {
System.out.println(str);
}