我试图摆脱数组列表中每个元素的所有空格。
我可以遍历每个元素,获取文本并使用.replace(" ","")
但是有更简单的方法或方法吗?
答案 0 :(得分:2)
没有更简单的方法对列表中的每个元素执行某些操作,而不是遍历列表中的所有元素并对每个元素执行某些操作。
使用ListIterator
迭代列表并更新值:
ListIterator<String> itr = list.listIterator();
while (itr.hasNext()) {
itr.set(itr.next().replaceAll("\\s", ""));
}
请注意,要替换所有空格(不仅仅是" "
),您需要使用正则表达式,如此处所示。
答案 1 :(得分:0)
没有更好的选择。 Java 8的一种方法是map
列表中的元素,然后collect
结果:
import static java.util.stream.Collectors.toList;
List<String> al = Arrays.asList("This is a ", "sentence", "\t with some", "\nwhite \n space ");
al.stream().map(s -> s.replaceAll("\\s", "")).forEach(System.out::println);
List<String> cleaned = al.stream().map(s -> s.replaceAll("\\s", "")).collect(toList());
请注意\\s
函数中的replaceAll
匹配每个空格(标签和换行符) - 不仅是空格而不是第一个空格。简单的replace
函数仅替换模式的第一个出现。
示例的结果如下:
Thisisa
sentence
withsome
whitespace