gpt4 book ai didi

java - 在 Java 中解析逗号分隔的文本

转载 作者:行者123 更新时间:2023-12-04 20:40:27 25 4
gpt4 key购买 nike

如果我有一个 ArrayList,其中的数据行可能如下所示:

bob,      jones,    123-333-1111
james, lee, 234-333-2222

如何删除多余的空格并取回相同的数据?我以为你可以通过“,”吐出字符串,然后使用 trim(),但我不知道它的语法是什么或如何实现它,假设这是一个好的方法,因为我' d 想把每个字段放在一个数组中。所以在这种情况下有一个 [2][3] 数组,然后在删除空格后将其放回 ArrayList 中。但这似乎是一种有趣的方式,而且如果我的列表发生变化,则无法扩展,比如最后有一封电子邮件。有什么想法吗?谢谢。

编辑:愚蠢的问题,所以我仍然不确定如何处理数据,因为我做不到这一点:

for (String s : myList) {
String st[] = s.split(",\\s*");
}

因为 st[] 将在 foreach 循环后失去作用域。如果我事先声明 String st[],我就不知道要创建我的数组有多大,对吧?谢谢。

最佳答案

您可以只扫描整个字符串并构建一个新字符串,跳过逗号后出现的任何空格。这比 split 和重新加入更有效率。这样的事情应该有效:

String str = /* your original string from the array */;
StringBuilder sb = new StringBuilder();
boolean skip = true;

for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);

if (skip && Character.isWhitespace(ch))
continue;

sb.append(ch);

if (ch == ',')
skip = true;
else
skip = false;
}

String result = sb.toString();

关于java - 在 Java 中解析逗号分隔的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3277899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com