当前位置: 首页 > 知识库问答 >
问题:

计算一个单词中的元音

冯育
2023-03-14

我需要找到一个单词中元音的计数。然而,当我比较单词中的字母是否是元音时,

举个例子,我做的就像下面这个,

如果(word[i]=='a'||word[i]='e'||word[i]=='i'||word[i]=='u'……)//其余部分被省略

if 语句变得太长。有没有办法将它们与正则表达式或类似正则表达式的比较进行比较,并给我字符串中元音出现的次数?

共有3个答案

南门欣怡
2023-03-14

这是另一个答案,尽管比另一个低效:

 import java.util.Scanner;

public class VowelCount {
public static void main(String args[]){
    Scanner sc=new Scanner(System.in);
    System.out.println("Enter String");
    String input=sc.nextLine();
    String inputup=input.toUpperCase();
    int vowel=0;
    for(int i=0;i<=inputup.length()-1;i++) {
        char ch=inputup.charAt(i);
        if((ch=='A')||(ch=='E')||(ch=='I')||(ch=='O')||(ch=='U')) {
            vowel++;
            continue;
        }
    }
    System.out.println("No. of Vowels="+vowel);
}

}

楚嘉
2023-03-14

如果要查找所有元音

String line = "Ahis order was placed for QT3000! OK?";
String pattern = "(?i)[aeiou]";

Pattern r = Pattern.compile(pattern);

Matcher m = r.matcher(line);

while (m.find()) {
   System.out.println(m.group(0) );
}

如果你想知道它们出现的次数,你可以使用< code>replace like

String line = "Ahis order was placed for QT3000! OK?";
String pattern = "(?i)[aeiou]";
System.out.println(line.replaceAll(pattern, "").length());

注意:-(?i)是一个内联修饰符,它指示后面的任何模式都不区分大小写

谷梁英资
2023-03-14

如果你想使用正则表达式计算元音,你可以试试。

int count = word.replaceAll("[^aeiouAEIOU]","").length();

首先计算单词长度,然后用这个

word = word.replaceAll("[^aeiouAEIOU]","").length();

并从原始单词中减去,您将获得元音计数。

 类似资料:
  • 给定一个句子,我希望能够数出每个单词中有多少个元音。 示例输入: 示例输出: 我最初的想法是有2个同时循环。第一个循环直到满足EOF以结束程序,第二个(嵌套的)同时循环将运行直到满足空格 (" ") ,同时还对当前单词中的元音求和。一旦遇到空格,它将打印出元音的当前值,第二个同时循环将结束并重新开始(元音计数器重置回0)。 这是我为此编写的代码: 然而,这导致语法错误,我不能找出我的错误。 第6行

  • 我一直在试图弄清楚如何计算句子每个单词中的元音和字符。例如 在句子 < code>hello : 5个字符,2个元音 <代码>有:5个字符,2个元音 。我见过完整句子做同样事情的代码。但不是一个字一个字地。 下面是我一直在做的编码 输入将全部。我很难弄清楚这一点。 在运行代码时,我没有得到元音计数。我能把句子分开。但元音计数没有发生。

  • 问题内容: 到目前为止,我的代码是这样的: 我想添加一个代码,该代码可以计算来自模式(此路径中的42个txt文件)中的唯一单词,但我不知道该怎么做。有谁能够帮助我? 问题答案: 在Python中计算对象的最佳方法是使用为此目的而创建的类。它的行为类似于Python字典,但计数时使用起来稍微容易一些。您只需传递对象列表,它就会自动为您计数。 Counter也有一些有用的方法,例如most_commo

  • 我在大学上Java入门课程。我的作业是写一个程序来显示一个句子中1个字母单词的数量,一个句子中2个字母单词的数量...等等。句子是用户输入的。我应该使用一个循环,但不允许使用数组。 然而,现在只是开始,我只是想找出句子第一个单词的字母数。我得到的结果要么是字母数不正确,要么是字符串索引超出范围。 例如,当我输入“这是一个句子”时,它会给我“字符串索引超出范围:4”对此的任何帮助都将不胜感激。

  • 问题内容: 我是Java字符串的新手,问题是我想计算字符串中特定单词的出现次数。假设我的字符串是: 现在,我也不想拆分它,所以我想搜索一个“雄猫”这个词。它在我的字符串中出现了两次! 我正在尝试的是: 它给了我46个计数器的价值!那么解决方案是什么? 问题答案: 您可以使用以下代码: 演示版 它匹配。 表示在找到匹配项时执行循环内给出的任何操作。并且我将by 的值递增,因此很显然,这给出了一个字符

  • 问题内容: 我认为我已经很好地理解了这一点,但我认为该陈述是错误的。怎么说包含空格,加1。 编辑: 我发现(感谢Blender)可以用更少的代码来做到这一点: 问题答案: 使用方括号,而不是括号: 或: 您也可以使用: