统计子串在另一个字符中出现的次数

package cc;

//要求:统计一个子串在一个字符串中出现的次数
//思路:不断地截取子串
public class StringTest1 {
	public static void main(String[] args) {
		StringDemo1 demo1 = new StringDemo1();
		System.out.println("出现的次数是" + demo1.count("abcabcccabc", "abc"));
	}
}

class StringDemo1 {
	public int count(String string, String subString) {
		int count = 0;
		while (string.indexOf(subString) != -1) {// 只要子串在原串中出现
			count++;
			int local = string.indexOf(subString);
			string = string.substring(local + 1);// 注意是local+1
		}
		return count;
	}
}
时间: 2024-09-23 05:07:00

统计子串在另一个字符中出现的次数的相关文章

c++的问题-统计一个字符串在另一个字符串中出现的次数

问题描述 统计一个字符串在另一个字符串中出现的次数 用C++程序 我是新手#include还没有学过 解决方案 int FindSubString(char* strSrc, const char* strSub) { char *cp = NULL; int i = 0; while(1) { if(NULL != (cp = strstr(strSrc, strSub))) { strSrc = ++cp; i++; } else { break; } } return i; } int m

c++-帮忙看看这个代码为什么会超时,有没有什么修改办法(一个字符串在另一个字符串中出现的次数)

问题描述 帮忙看看这个代码为什么会超时,有没有什么修改办法(一个字符串在另一个字符串中出现的次数) #include #include using namespace std; int main() { char str1[100]; char str2[100]; while (1) { cin>>str1; cin>>str2; int a=strlen(str1); int b=strlen(str2); int j,i,count=0; for(j=0;j<a;j++

求一个字符串中连续出现次数最多的子串

解题思路 例如字符串"abababc",最多连续出现的为ab,连续出现三次.要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab.两个题目的解法有些类似,都用到了后缀数组这个数据结构.求一个字符串中连续出现的次数最多的子串,首先生成后缀数组例如上面的字符串为: abababc bababc ababc babc abc bc c 可以看出第一个后缀数组和第三个后缀数组的起始都为ab,第5个后缀数组也为ab.可以看出规律来,一个字符串s,如果第一次出现

通过MapReduce统计每个单子在每个文件中出现的次数(FileSplit的使用),单词作为key,所在文本和次数作为value进行统计

代码如下: package cn.toto.bigdata.mr.index; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.ha

用TSQL求子串在父串中出现的次数

导言 由于SQL Server本身没提供计算一个字符串在另一个字符串重复次数的函数, 大家按照自己的思路使用自定义函数实现了该功能,并在网上传播.我阅读了同 事从网上获取的该函数的一个版本后,便发现该函数存在一个明显的逻辑错误. 为了进一步确认这个问题,我在Google上搜索相关关键字,发现该功能多数的实 现思路一致,但大多数都存在这个共同的逻辑错误.可见从网络上获取的一些资 源,可以作为参考,但要在实际需求中能够应用,是需要仔细检查的. 功能实现 常见方法 以下是网上一种较常见的函数实现: S

《Python Cookbook(第2版)中文版》——第1章 文本 1.1 每次处理一个字符

第1章 文本 引言 感谢:Fred L. Drake, Jr.,PythonLabs 对于脚本语言来说,文本处理任务构成了一个重要的组成部分,每个人都会同意文本处理非常有用.每个人都会有一些文本需要重新格式化或者转化为另一种形式.问题是,每个程序都与另一个程序有点不同,无论它们是多么相似,想提取出一些可复用的代码片段并用它来处理不同的文件格式仍然是非常困难的. 什么是文本 看起来问题有点简单得过分了,事实上,我们看到了文本,就知道了什么是文本,文本是一串字符,这正是它与二进制数据之间的不同.二进

一个字符串中出现次数最多的字符 统计这个次数【实现代码】_javascript技巧

var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i)]){ json[str.charAt(i)] = 1; }else{ json[str.charAt(i)]++; } }; var iMax = 0; var iIndex = ''; for(var i in json){ if(json[i]>iMax){ iMax = j

java中需要统计子串在字符串中出现多少次。 麻烦大家帮我详细解释一下那串代码是什么意思。谢谢了!

问题描述 java中需要统计子串在字符串中出现多少次. 麻烦大家帮我详细解释一下那串代码是什么意思.谢谢了! String str="abcjavadefjavadddjava"; String newStr="java"; int count=0; int i=0;//出现的下标 while(str.indexOf(newStr,i)>=0 && i<=str.length()){ count++; i = str.indexOf(ne

图片-SQL将列数据中字段的一个字符去除

问题描述 SQL将列数据中字段的一个字符去除 这个sgrade里数据前的's'是我通过update sc set sgrade='s'+sgrade加进去的,现在要去掉这个s怎么办 解决方案 update sc set sgrade=replace(sgrade, 's', '') 解决方案二: SQL 字段取字符位置与循环修改数据 解决方案三: 就操作而言,可以用字符串切割或者STRING操作按位从第二个字符读取,然后更新掉sgrage的值就可以了 解决方案四: 你的这个S 会有重复吗,没有重