代码及其分析如下:
/*
* Copyright (c) 2020, 2021,great-sun https://blog.csdn.net/weixin_44728473 All rights reserved.
*
*/
package org.reg;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author great-sun [https://blog.csdn.net/weixin_44728473]
* 判断字符出现的次数
* 普通字符串方法和正则表达式两种方法
*/
public class Ex2 {
public static void main(String[] args) {
String s = "java-ajavajavajavabc-mysqljavascript-aajava 16ajav";
String d = "java";
int num = 0;
//如果s里面包含d
if (s.contains(d)) {
//返回d的位置
int index = s.indexOf(d);
while (index != -1) {
++num;
index = s.indexOf(d, index + d.length());
}
}
System.out.printf("%s在%s出现了%d次", d, s, num);
//正则表达式
Pattern p = Pattern.compile("java");
Matcher m = p.matcher(s);
int n = 0;
while (m.find()) {
n++;
//找到一个输出一个
System.out.println(m.group());
}
System.out.printf("%s在%s出现了%d次", p, s, n);
}
}
运行结果: