我有一个由日期组成的ArrayList
。所有日期均采用以下格式:
“日月时间时区年”。例如,AST 2016年8月10日星期三15:15:17。
我需要在第二个“:”处分割字符串。这是我的代码。
int dateSize = date.size();
int i = 0;
ArrayList<String> splitDate = new ArrayList<String>();
splitDate.clear();
while(i < dateSize) {
String[] splitString = date.get(i).split(":" + 1);
splitDate.add(splitString[0]);
Log.i("info", String.valueOf(splitDate));
i++;
}
ArrayList
包含大约50个项目。首先,此代码有效。它将其打印到日志中,我想要的是9月14日星期三23:30。
但随后,它开始随机打印
2016年9月14日星期三23:30,9月14日星期三23:24:36 AST 2016年9月14日星期三9月14日
14 22,周三9月14 22,周二9月13 22,周二9月13日22,周二9月13
AST 2016,9月12日,星期一22:07:33
有时会拆分第二个“:”,有时会拆分第一个“:”,有时不拆分任何内容。我不知道为什么会这样。如果我将代码更改为此,
String[] splitString = date.get(i).split(":");
splitDate.add(splitString[0]);
它完美地工作。一切都将像这样打印在日志上,8月10日星期三,无一例外。
我的方法正确吗?
最佳答案
好吧,首先这不是您想要的
String[] splitString = date.get(i).split(":" + 1);
这在字符串“:1”上拆分
您想要做的是在“:”上分割,然后获取数组中的前两个条目并将它们连接起来
String[] splitString = date.get(i).split(":");
splitDate.add(splitString[0] + ":" + splitString[1]);
关于java - 在数组列表Java中分割字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39549799/