Java 切割字符串的几种方式
//以data 为案例参数。 String data = "2019-01-08 21:55 136 2019-01-08 22:00 86 2019-01-08 22:04 136 2019-01-08 22:09 86 2019-01-08 22:12 136 2019-01-14 10:49 86 ";
已下排名按效率高低,如果有疑问自己可以设置时间戳,自己测试吧。
- StringTokenizer切割 是java.util中的一个类,包含的api有: 其中,countTokens为length;nextToken可以获取它的下一个字符串,其中delim为分隔符。
- ..split("*")分割; 最方便,运用最多的,不解释。
String[] split = data.split(" "); 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(" "); 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, 16);//前半部分 16为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:55 136 2019-01-08 22:00 86 2019-01-08 22:00 86 2019-01-08 22:04 136 2019-01-08 22:04 136 2019-01-08 22:09 86 2019-01-08 22:09 86 2019-01-08 22:12 136 2019-01-08 22:12 136
其中上面的split[i].substring(0, 15);15是我字符串我这边功能需要写死了的,你可以通过indexOf(int ch)获取位置。
- 正则获取时间,然后.replaceAll(String regex,String replacement)那时间用” “代替,剩下的字符串就是时间以外的字符串了。
上一篇:
IDEA上Java项目控制台中文乱码