java - 如何在我的列表中替换每个字符串中的字符?

Gen*_*ing 2 java string list replaceall

我有一个字符串列表,其中大部分是多个单词:

"how are you"
"what time is it"
Run Code Online (Sandbox Code Playgroud)

我想从此列表中的每个字符串中删除空格:

"howareyou" 
"whattimeisit" 
Run Code Online (Sandbox Code Playgroud)

我知道Collections.replaceAll(list, to replace, replace with),但这仅适用于具有该确切值的字符串,而不是每个字符串中的每个实例。

Dam*_*ash 5

您必须将替换函数应用于列表中的每个字符串。

由于字符串是不可变的,您将不得不创建另一个列表,其中将存储没有空格的字符串。

List<String> result = new ArrayList<>();

for (String s : source) {
    result.add(s.replaceAll("\\s+", ""));
}
Run Code Online (Sandbox Code Playgroud)

不可变意味着对象不能改变,如果你想改变它的状态,就必须创建一个新的对象。

String s = "how are you";

s = s.replaceAll("\\s+", "");
Run Code Online (Sandbox Code Playgroud)

如果您没有将其分配给变量 s,则函数 replaceAll 将返回新字符串,那么它仍然会有空格。