//以data 为案例参数。
String data = "2019-01-08 21:55 136 \n2019-01-08 22:00 86 \n2019-01-08 22:04 136 \n2019-01-08 22:09 86 \n2019-01-08 22:12 136 \n2019-01-14 10:49 86 \n";
已下排名按效率高低,如果有疑问自己可以设置时间戳,自己测试吧。
StringTokenizer
切割
是java.util
中的一个类,包含的api有:
其中,countTokens为length;nextToken可以获取它的下一个字符串,其中delim为分隔符。- .
.split("*")
分割;
最方便,运用最多的,不解释。
String[] split = data.split("\n");
if (split != null && split.length != 0) {
for (int i = 0; i < split.length-1; i++) {
String[] split1 = split[i].split(":");
···
}
}
- 调用String自己的api
subString()
运用2的代码块
String[] split = data.split("\n");
if (split != null && split.length != 0) {
for (int i = 0; i < split.length-1; i++) {
System.out.println(split[i]);
String time = split[i].substring(0, 15);//前半部分 15为index
System.out.println(time);
String num = split[i].substring(17);//剩余部分 index +2;
System.out.println(num);
}
}
输出结果:
2019-01-08 21:55 136
2019-01-08 21:5
136
2019-01-08 22:00 86
2019-01-08 22:0
86
2019-01-08 22:04 136
2019-01-08 22:0
136
2019-01-08 22:09 86
2019-01-08 22:0
86
2019-01-08 22:12 136
2019-01-08 22:1
136
其中上面的split[i].substring(0, 15);
15是我字符串我这边功能需要写死了的,你可以通过indexOf(int ch)
获取位置。
- 正则获取时间,然后
.replaceAll(String regex,String replacement)
那时间用” “
代替,剩下的字符串就是时间以外的字符串了。