簡體   English   中英

擺脫ArrayList中每個String元素的空白

[英]Getting rid of white-space for each String element in ArrayList

我試圖擺脫數組列表的每個元素中的所有空格。

我可以遍歷每個元素,獲取文本並使用.replace(" ","")

但是,有沒有更簡單的方法或方法呢?

對列表中的每個元素執行某項操作沒有比遍歷列表中的所有元素並對每個元素執行某項操作更簡單的方法。

使用ListIterator迭代列表並更新值:

ListIterator<String> itr = list.listIterator();
while (itr.hasNext()) {
  itr.set(itr.next().replaceAll("\\s", ""));
}

請注意,要替換所有空格(不只是" " ),您需要使用正則表達式,如此處所示。

沒有這樣更好的選擇。 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());

請注意, replaceAll函數中的\\\\s與每個空格(也包括制表符和換行符)匹配-不僅空格而且不匹配第一個空格。 簡單replace功能僅替換模式的首次出現。

該示例的結果如下:

Thisisa
sentence
withsome
whitespace

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM