[英]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.