Java:从字符串数组格式问题中获取唯一字符

时间:2018-01-16 21:20:04

标签: java arrays

我在从字符串数组中获取唯一字母和数字时遇到问题,然后返回它们。我有格式化问题。

给定的输入是:([abc,123,efg])并且应该返回abcefg123

然而,我的回报:abc123efg

我该如何解决这个问题?

到目前为止,这是我的方法:

public static String getUniqueCharsAndDigits(String[] arr) {

String str = String.join(",", arr);
String myString = "";
myString = str.replaceAll("[^a-zA-Z0-9]", "");

for(int i = 0; i < str.length(); i++) {
    if(Character.isLetterOrDigit((i))){
        if(myString.indexOf(str.charAt(i)) == -1) {
            myString = myString + str.charAt(i);
        }
    }
}
return myString;

}

1 个答案:

答案 0 :(得分:-1)

String是不可变的。只需再次将str.replaceAll结果分配给str,因为该方法会返回一个字符串的新实例,并替换所有值。