我有以下查询字符串,
QUERY 192.168.1.0 0 2016-08-25 18:32 2016-08-26 18:31
我想将其拆分为5个字符串对象,以便将2016-08-25 18:32
和2016-08-26 18:31
解析为一个对象。
String[] arr = str.split(" ");
将String拆分为7个字符串,分割日期。我不确定如何使用Java使用正则表达式。 任何帮助表示赞赏。
答案 0 :(得分:0)
只要项目的位置是静态的,只需在拆分后操作输出数组:
String sdate = arr[3] + ' ' + arr[4];
String edate = arr[5] + ' ' + arr[6];
如果需要,请创建一个新数组:
String[] arr2 = {arr[0], arr[1], arr[2], sdate, edate};
祝你好运!
答案 1 :(得分:0)
实现上述目标的另一个简短而酷的方法是使用正则表达式将字符串按空格分割到新行。
str.replaceAll("\\s", "\n")
答案 2 :(得分:0)
你完全不需要这里的RegEx。用正则表达式解析一个字符串是一个相当复杂的过程,在你的情况下,你在字符串中有静态位置,并且只能连接部分 - 正则表达式是一个明显的矫枉过正。
顺便说一句,正则表达式几乎总是让你的代码更不易读。因此,使用正则表达式,您最终将获得更少的可读性和高性能代码。
投票反对RegEx。