在 Java 中仅替换一次字符串?

Replacing string for only one time in Java?

说有String A = "aabbccdd" 和String B = "abcd", 有没有什么办法只删除一次字符串B对字符串A的匹配字符?

预期输出是 A = "abcd"。

我知道使用for循环会解决这个问题,但是有没有更简单的方法呢? 例如,使用 replaceAll 或正则表达式?

您可以为此使用正则表达式

A = A.replaceAll("([a-z]+)","");

可以在此处找到有关正则表达式的更多信息https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

你可以使用 distinct() 方法

public static void main(String[] args) {
        String str = "aabbccdd";
        String result = str.chars().distinct().boxed()
                .map(c -> (char) (c.intValue()))
                .map(String::valueOf)
                .collect(Collectors.joining());
        System.out.println(result);
    }