每日经典算法题(七) 正则表达式
正则表达式:Regular Expression
题目
需求:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析
运用条件语句判断输入字符串中的每一个字符是否为数字/字母/空格/其他,判断条件可用正则表达式。
思路
基本思路就是利用 string.matches(regex) 来判断单个字符。
为了结果,必须定义 4 个 int 变量用于增加计数(number、letter、blank、other)。
让用户输入字符串,并获取。
在进入遍历之前需要获取每一个字符,可以创建一个 char 数组存放每一个字符,再遍历数组判断。
在进行判断之前,由于是 String 包的 matches 方法,所以要将获取的 char 类型转换成 String 字符串(toString)。
判断条件可以使用正则表达式:
- 数字为 “[0-9]”
- 字母为 “[A-Za-z]”
- 空白为 " " 或 “\s”
- 除此之外,不用添加判断
在遍历过程中若判断成功,则使相应的 int 变量 +1 即可。
最后打印输出所有的 int 变量。
代码示例
package java50programmingQ;
import java.util.Scanner;
public class Q7_RegularExpression {
public static void main(String[] args)