我需要拆分由日期和文本组成的大型Java字符串(日期和后面的文本代表一个条目)。
使用Java代码(正则表达式或其他方法)
字符串示例
String bigText = "2016-08-05 My Test 1 2016-08-04 My Test 2 2016-08-03 My Test 3 ...";
结果必须是:
2016-08-05 My Test 1
2016-08-04 My Test 2
2016-08-03 My Test 3
...
有什么建议将字符串分开吗?
我会尽快等待你的回复。
此致
答案 0 :(得分:0)
使用前瞻来识别日期后面的空格。您可以拆分或用换行符替换它。
\s(?=\d{4}-\d{2}-\d{2})
为了分裂:
String[] output = input.split("\\s(?=\\d{4}-\\d{2}-\\d{2})");
为了取代:
String output = input.replaceAll("\\s(?=\\d{4}-\\d{2}-\\d{2})", "\n");
答案 1 :(得分:0)
您可以使用StringBuilder
:
String bigText = "2016-08-05 My Test 1 2016-08-04 My Test 2 2016-08-03 My Test 3 ...";
StringBuilder str = new StringBuilder(bigText);
int i = 0;
while ((i = str.indexOf(" ", i + 20)) != -1)
{
str.replace(i, i + 1, "\n");
}
System.out.println(str.toString());
输出:
2016-08-05我的测试1
2016-08-04我的测试2
2016-08-03我的测试3
...