如果我有一个ArrayList,其数据行可能如下所示:
bob, jones, 123-333-1111
james, lee, 234-333-2222
Run Code Online (Sandbox Code Playgroud)
如何删除额外的空格并获取相同的数据?我以为你可以通过","吐出字符串,然后使用trim(),但我不知道它的语法是什么或如何实现它,假设这是一个好的方法,因为我' d想要将每个字段放在一个数组中.所以在这种情况下有一个[2] [3]数组,然后在删除空格后将它放回到ArrayList中.但这似乎是一种有趣的方式,如果我的列表发生了变化,那就不可扩展了,比如最后收到一封电子邮件.有什么想法吗?谢谢.
编辑:Dumber问题,所以我仍然不确定如何处理数据,因为我不能这样做:
for (String s : myList) {
String st[] = s.split(",\\s*");
}
Run Code Online (Sandbox Code Playgroud)
因为st []将在foreach循环后失去范围.如果我事先声明String st [],我不知道创建我的数组有多大?谢谢.
您可以扫描整个字符串并构建一个新字符串,跳过逗号后出现的任何空格.这比分裂和重新加入更有效.这样的事情应该有效:
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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1746 次 |
| 最近记录: |