使用子字符串时如何从字符串中删除字母

cyvaqqii  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(386)

所以我要从这个字符串中删除所有的x!当然,我可以使用replaceall,但我希望它删除一个一个x,然后打印它!但它要么不断出错,要么我就是无法删除它!当然,我知道如何找到x,但idk如何删除之后!

public class Test1
{
    public static void main(String[] args)
    {
        String message = "Ix lovex youxxx";
        System.out.println(message);
        for(int x = 0 ; message.length() > 0 ; x++){
            String v = message.substring(x, x+1);
            if (v.indexOf("x") > -1){
                String w = message.substring(v, v+1);
            }
            System.out.println(message);
        }

    }
}
yebdmbv4

yebdmbv41#

尝试 replaceFirst ,从左侧逐个替换x,如下所示:

public class Test1
{
    public static void main(String[] args)
    {
        String message = "Ix lovex youxxx";
        System.out.println(message);
        while(message.indexOf("x")>0)
        {
            message = message.replaceFirst("x", "");
            System.out.println(message);
        }
    }
}

输出

Ix lovex youxxx
I lovex youxxx
I love youxxx
I love youxx
I love youx
I love you
epfja78i

epfja78i2#

你可以一起工作 StringBuilder ,它有一个内置的方法 deleteCharAt .

public static void main(String[] args) {
    String msg = "Ix lovex youxxx";
    char toExtract = 'x';
    StringBuilder sb;

    System.out.println(msg);

    while (msg.indexOf(toExtract) != -1) {
        sb = new StringBuilder(msg);
        int index = msg.indexOf(toExtract);
        sb.deleteCharAt(index);
        msg = sb.toString();
        System.out.println(msg);
    }
}

输出:

Ix lovex youxxx
I lovex youxxx
I love youxxx
I love youxx
I love youx
I love you

说明:
只要绳子 msg 还有角色要提取,一个 StringBuilder 则第一个索引将被删除,然后保存回 msg 和印刷品。

相关问题