Vij*_*jay 13 java string string-split
我试图用Java解析一些数据,用'|'分隔 序列.以下是数据示例.
String s = "111206|00:00:00|2|64104|58041";
String [] temp = s.split("|");
for(String p: temp)
System.out.println(p);
Run Code Online (Sandbox Code Playgroud)
但不是分裂为'|' 它分别将每个角色分开.这是我得到的上述代码的输出.
1
1
1
2
0
6
|
0
0
:
0
0
:
0
0
|
2
|
6
4
1
0
4
|
5
8
0
4
1
Run Code Online (Sandbox Code Playgroud)
我发现通过更换'|'找到了转机 通过','在行中,但代码补丁将运行多次,我想优化它.
String s = "111206|00:00:00|2|64104|58041";
s = s.replace('|', ',');
Run Code Online (Sandbox Code Playgroud)
我只是想知道'|'的问题是什么 ??
Doo*_*nob 33
你必须使用:
String [] temp = s.split("\\|");
Run Code Online (Sandbox Code Playgroud)
这是因为该split
方法采用正则表达式,并且|
是特殊字符之一.它的意思是'或'.这意味着你正在分裂'' or ''
,这只是''
.因此它将在每个角色之间分裂.
你需要两条斜线,因为第一个是转义实际\
中的字符串,因为\
是在一个字符串Java的转义字符.Java理解像" \|
" 这样的字符串,然后正则表达式就像" |
" 一样理解它.