我在从字符串数组中获取唯一字母和数字时遇到问题,然后返回它们。我有格式化问题。
给定的输入是:([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;
}
答案 0 :(得分:-1)
String
是不可变的。只需再次将str.replaceAll
结果分配给str
,因为该方法会返回一个字符串的新实例,并替换所有值。