有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java仅当元音不以单词开头时才删除元音

我试图从长度超过10个字符的字符串中删除元音,除非元音以字符串开头或以单词开头。我不知道如何只删除那些特定的元音

我试过使用字符串。replaceAll,以及各种间距组合,并尝试分离元音。我对java非常陌生,不知道还能做什么。我发现的唯一一个能够完美描述我的问题的线程是python

String x = scan.nextLine();
    if(x.length() >= 10){
        x.toLowerCase();
        String y = x.replaceAll("[aeiou]", "");
        System.out.println(y);
    }else{    
        System.out.println("This doesn't need shortening!");

如果用户输入“快速棕色狐狸跳过极懒的狗”,则输出应为“Th qck brwn fx jmps ovr Th extrmly lzy dg”


共 (1) 个答案

  1. # 1 楼答案

    我将在不区分大小写模式下使用模式(?<=\S)[aeiou]

    String input = "Hello how are you?";
    System.out.println(input);
    input = input.replaceAll("(?i)(?<=\\S)[aeiou]", "");
    System.out.println(input);
    

    这张照片是:

    Hello how are you?
    Hll hw ar y?
    

    正查找(?<=\S)断言每个匹配元音前面的是而不是空格