简体   繁体   English

如何将字符串拆分为列表并在一行中修剪 Java

[英]How to split string into list and trim in one line Java

Please look at my code请看我的代码

 String Str = "E_1000, E_1005,E_1010 , E_1015,E_1020,E_1025";
                List<String> splitStr = Arrays.asList(Str.split(","));

My list (splitStr) has strings with white spaces.我的列表(splitStr)有带空格的字符串。

Is there a way to split the string and trim all the elements in one line of code?有没有办法在一行代码中拆分字符串并修剪所有元素?

Yes, simply do:是的,只需执行以下操作:

String str = "E_1000, E_1005,E_1010 , E_1015,E_1020,E_1025";
List<String> splitStr = Arrays.stream(str.split(","))
    .map(String::trim)
    .collect(Collectors.toList());

Explanation:解释:
First, we split on , :首先,我们拆分,

                                      str.split(",")

Then, we turn it into a Stream of (untrimmed) Strings:然后,我们将其转换为(未修剪的)字符串的 Stream:

                        Arrays.stream(str.split(","))

Next, we trim all the Strings in the Stream:接下来,我们修剪 Stream 中的所有字符串:

                        Arrays.stream(str.split(","))
    .map(String::trim)

Finally, we collect all the trimmed Strings into a List:最后,我们将所有修剪后的字符串收集到一个列表中:

                        Arrays.stream(str.split(","))
    .map(String::trim)
    .collect(Collectors.toList());

Just do a replacing of all whitespaces before doing iterations:只需在进行迭代之前替换所有空格:

    String Str = "E_1000, E_1005,E_1010 , E_1015,E_1020,E_1025".replace(" ", "");
    List<String> splitStr = Arrays.asList(Str.split(","));

Not sure whether single elements may contain spaces.不确定单个元素是否可能包含空格。 If not, simply remove all spaces:如果没有,只需删除所有空格:

List<String> splitStr = Arrays.asList(Str.replace(" ", "").split(","));

MAYBE THIS WILL HELP YOU也许这会帮助你

ONE WAY:-单程:-

YOU CAN SAVE IT ON ANOTHER list splitStr2您可以将其保存在另一个列表 splitStr2

List<String> ss = new ArrayList<String>();
for(String s:*splitStr*){ss.add(s.trim()); }

THIS ONE CHECK FOR NEW LIST ( WITHOUT_WHITESPACES )这个检查新列表( WITHOUT_WHITESPACES

for(String temp:ss){System.out.println(temp);}

*截屏*

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM