删除字符串中的特定字符

时间:2018-12-10 14:31:52

标签: java string char

我尝试解决一些String任务,但是有一些问题。 我不明白如何搜索2个不同的字符,如果这2个字符之间有1个字符,则如何删除。

我的任务是:

在字符串“ length-3”中查找诸如“ zip”和“ zap”之类的模式,以“ z”开头,以“ p”结尾。返回一个字符串,其中所有这些单词的中间字母都消失了,因此“ zipXzap”产生“ zpXzp”。 我的代码是:

public String zipZap(String str) {
    char z = 'z';
    char p = 'p';

    for (int i = str.indexOf('z', 0); i != -1; i = str.indexOf('z', 1)) {
        for (int j = str.indexOf('p', 0); i != -1; i = str.indexOf('p', 1)) {
           if (p = i + 2) {
               str = str.replace(i + 1, " ");
           }
        }
    }

    return str;
}  

2 个答案:

答案 0 :(得分:3)

尝试一下:

public String zipZap(String str) {
    return str.replaceAll("z[a-z]p", "zp");
}

答案 1 :(得分:0)

对任何字符都适用:

public static String zipZap(String str) {
    return str.replaceAll("z.p", "zp");
}

点(。)表示'任何字符'。