package com.four;
//题目:计算字符串中子串出现的次数
public class Test_wzs31 {
static int times = 0; // 出现次数
static int index = 0; // 索引位置
/**
* 获得子字符串出现次数
* @param string1 第一个字符串
* @param string2 第二个字符串
* @return 第二个字符串在第一个字符串中出现的次数
*/
static int getAppearTimes(String string1, String string2)
{
index = string1.indexOf(string2);
System.out.println(index);
if (index != -1 && index <= string1.length() - string2.length())
{
times++;
getAppearTimes(string1.substring(index + string2.length()), string2);
}
return times;
}
public static void main(String[] args)
{
System.out.println(getAppearTimes("cdabcdeccdfgcdccd", "ccd"));
}
}
package com.four;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
System.out.println(finder("23da3nidayededadaewedadadadadadaye", "dada"));
// da出现2次输出2
}
public static int finder(String source, String regexNew) {
Pattern expression = Pattern.compile(regexNew);
Matcher matcher = expression.matcher(source);
int n = 0;
while (matcher.find()) {
n++;
}
return n;
}
}