java - 在数组列表Java中拆分字符串

标签 java android arrays split

我有一个由日期组成的 ArrayList。所有日期都采用这种格式:

“日月时区年”。例如,Wed Aug 10:15:17 AST 2016

我需要在第二个“:”处拆分字符串。这是我执行此操作的代码。

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 个项目。起初,这段代码有效。它将此打印到日志中,

Wed Sep 14 23:30,这就是我想要的。

然后,它随机开始打印这个,

Wed Sep 14 23:30, Wed Sep 14 23:24:36 AST 2016, Wed Sep 14 23, Wed Sep 14 22, Wed Sep 14 22, Tue Sep 13 22, Tue Sep 13 22, Tue Sep 13 22:07:33 AST 2016, Mon Sep 12 20

有时它拆分第二个“:”,有时它拆分第一个“:”,有时它不拆分任何东西。我不明白为什么会这样。如果我将代码更改为此,

String[] splitString = date.get(i).split(":");
splitDate.add(splitString[0]);

它完美地工作。所有内容都像这样打印到日志中,Wed Aug 10,无一异常(exception)。

我的做法是否正确?

最佳答案

好吧,首先这不是你想要的

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/

相关文章:

android - 如何更改微调器文本颜色

php - 从mysql数据库获取BLOB到android

java - 打印数组、设置数组

java - Java中的递归乘法

java - 收集到 Multimap 并保留顺序

android - Appium 中的标识符未找到元素

ios - 在 TableViewController 中呈现嵌套数组

arrays - 如何在 Swift 中获取 2 数组的公共(public)元素列表?

java - Spring ConflictingBeanDefinitionException 与现有的、不兼容的同名和类的 bean 定义冲突

java - 设置 java applet 的起始坐标