我有一个数据看起来像:
4819116 | 2014-12-25T06:45:42 | 24.4153 | -109.0765int|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.0765
为109.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/