zoukankan      html  css  js  c++  java
  • 编写一个程序,接受用户输入的一段英文文字,统计出其中的字符个数、单词个数和句子的个数。(设句子以“.”“!”“?”结束,单词之间利用空格分隔)。

    这个题目用到正则表达式,正则表达式是一种可以用于模式匹配和替换的规范.

    字符串对象(String)调用matches()可以判断当前字符串对象是否与参数regex指定的正则表达式匹配.

    String上可以使用正则表达式的操作,实际上是利用了java.util.regex.Pattern与java.util.regex.Matcher的功能.当调用String的matches()方法时,实际上是调用了Pattern的静态方法matches(),这个方法会返回boolean值,表示字符串是否符合正则表达式.

    将正则表达式视为一个对象来重复使用,使用pattern的静态方法compile()进行编译.这个方法会返回一个Pattern的实例,这个实例代表正则表达式,之后可以重复使用Pattern实例的matcher()方法来返回一个Matcher的实例,代表符合正则表达式的实例.

     1 import java.util.Scanner;
     2 import java.util.regex.Matcher;
     3 import java.util.regex.Pattern;
     4 
     5 public class Test5_1 {
     6 public static void main(String[] args){
     7 int countC=0,countW=0,countS=0;          //分别表示字符,单词和句子的个数
     8 Scanner in=new Scanner(System.in);
     9 System.out.print("input a english sentence:");
    10 String st=in.nextLine();                //用nextInt接收,是以回车作为分隔符.而用next接受,是以空格作为分隔符.
    11 Pattern p2=Pattern.compile("[ ,.!?]");          //与[]中的任意一个字符匹配即可.分别有空格,逗号,句号,感叹号,问号.用以统计单词个数.
    12 Matcher m2=p2.matcher(st);             
    13 Pattern p1=Pattern.compile("[a-zA-Z ,.!?]");        //匹配一段话中字符的个数
    14 Matcher m1=p1.matcher(st);
    15 Pattern p3=Pattern.compile("[.!?]");            //匹配一段话中句子的个数
    16 Matcher m3=p3.matcher(st);
    17 boolean result2=m2.find();                
    18 while(result2){
    19 countW++;
    20 result2=m2.find();                    //判断是否找到并统计个数
    21 }
    22 boolean result1=m1.find();
    23 while(result1){
    24 countC++;
    25 result1=m1.find();
    26 }
    27 boolean result3=m3.find();
    28 while(result3){
    29 countS++;
    30 result3=m3.find();
    31 }
    32 System.out.println("单词个数:"+countW);
    33 System.out.println("字符个数:"+countC);
    34 System.out.println("句子个数:"+countS);
    35 }
    36 }
  • 相关阅读:
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    springcloud-gateway整合Swagger聚合微服务系统API文档
    Gateway 其他配置
    Gateway Global Filters
    Gateway GatewayFilter Factories
    Gateway Route Predicate Factories
  • 原文地址:https://www.cnblogs.com/silenTJ/p/7890792.html
Copyright © 2011-2022 走看看