如何在每个Arraylist项目中删除\ n

Tri*_*ity 4 java string wsdl arraylist java-8

我将一些数据提取到Arraylist中。之后,在每个项目中都有几个换行符(\ n),我想摆脱掉。

我尝试这样做:

public List<String> MemberIDList() {

    // Getting the ArrayList
    idList =  listProjection.getIDListOfMembers();

    for (int i = 0; idList.size() > i; i++) {
       String item = idList.get(i);
        item.replaceAll("\n", "");
    }

    return idList;
}
Run Code Online (Sandbox Code Playgroud)

如果在控制台上打印出来,它仍然包含所有换行符:

The ID ...... (not null) 
     145     
     145
Run Code Online (Sandbox Code Playgroud)

谢谢

编辑:我也想过滤不必要的空格。与将答案两次降低到下面相比,这是更好的选择吗?有空间---------------------这个巨大。

idList.replaceAll(item -> item.replaceAll("\\s{2,}", "").trim());
Run Code Online (Sandbox Code Playgroud)

我知道了:D

Era*_*ran 5

更改

item.replaceAll("\n", "");
Run Code Online (Sandbox Code Playgroud)

idList.set(i,item.replaceAll("\n", ""));
Run Code Online (Sandbox Code Playgroud)

item.replaceAll不会修改String引用者的状态item(这是不可能的,因为它String是不可变的)。它返回一个新值String


YCF*_*F_L 5

您可以这样替换所有方法:

public List<String> memberIDList() {
    idList.replaceAll(item -> item.replaceAll("\n", ""));
    return idList;
}
Run Code Online (Sandbox Code Playgroud)