【问题标题】:Java: getting unique characters from array of strings formatting issue [duplicate]Java:从字符串数组中获取唯一字符格式化问题[重复]
【发布时间】:2018-06-25 16:17:59
【问题描述】:

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

给定的输入是 :([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;

}

【问题讨论】:

  • str = str.replaceAll("[^a-zA-Z0-9]","");。字符串是不可变的。

标签: java arrays


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-27
    相关资源
    最近更新 更多