我有这个字符串
String x = "2013-04-17T08:00:00.001,41.14806,-9.58972,-13.0,0.0,0.0,-20.0,4|2013-04-17T08:00:00.001,41.14806,-9.58972,-22.0,0.0,0.0,-20.0,4|2013-04-17T08:00:00.001,41.14806,-9.58972,-31.0,0.0,0.0,-20.0,4|2013-04-17T08:00:00.001,41.14806,-9.58972,-40.0,0.0,0.0,-20.0,4|2013-04-17T08:00:00.001,41.14806,-9.58972,-49.0,0.0,0.0,-20.0,4|2013-04-17T08:00:00.001,41.14806,-9.58972,-58.0,0.0,0.0,-20.0,4|2013-04-17T08:00:00.001,41.14806,-9.58972,-64.0,0.0,0.0,-20.0,4";
Run Code Online (Sandbox Code Playgroud)
如果我正在进行这样的分割String vec2 [] = x.split(",");输出就是这个
2013-04-17T08:00:00.001
41.14806
-9.58972
-13.0
0.0
0.0
-20.0
Run Code Online (Sandbox Code Playgroud)
等等.
如果我这样做分割String vec2[] = x.split("|");输出是这样的:
2
0
1
3
-
0
4
-
1
7
T
0
8
:
0
0
:
Run Code Online (Sandbox Code Playgroud)
等等.
我期待类似的东西:
2013-04-17T08:00:00.001,41.14806,-9.58972,-13.0,0.0,0.0,-20.0,4
2013-04-17T08:00:00.001,41.14806,-9.58972,-22.0,0.0,0.0,-20.0,4
and so on
Run Code Online (Sandbox Code Playgroud)
知道什么是错的吗?
Mar*_*oun 10
你需要逃避|:
String vec2[] = x.split("\\|");
Run Code Online (Sandbox Code Playgroud)
那是因为split()的参数是正则表达式而不是字符串.
在正则表达式中,某些字符具有特殊含义.垂直条|代表交替.因此,如果你想按照分割|,你需要写出\\|一个告诉:" 不要 | 把它作为特殊字符,把它作为符号 | ".
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |