我有一个数据看起来像:


  4819116 | 2014-12-25T06:45:42 | 24.4153 | -109.0765


int|yyyy-mm-ddTHH:MM:SS|int| -ve int

我想拆分为:

4819116, 2014, 12, 25, 06:45:42, 24.4153, -109.0765

当我使用定界符作为:String col [] = line.split("[|T-]");

它读取负数为正数(即-109.0765109.0765),但我想读取为负数。即我只想使用-分隔符2次。

最佳答案

看起来您只想在-上用数字包围时才拆分。

在这种情况下,请使用split("[|T]|(?<=\\d)-(?=\\d)")

(?<=\\d)(?=\\d)look-around机制

演示:

String data = "4819116|2014-12-25T06:45:42|24.4153|-109.0765";
System.out.println(Arrays.toString(data.split("[|T]|(?<=\\d)-(?=\\d)")));


输出:[4819116, 2014, 12, 25, 06:45:42, 24.4153, -109.0765]

关于java - 在Java中使用分隔符按分隔符计数分割字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28722911/

10-12 14:24