用最快的方法找到字符串中某一个字符串的个数

以前自己做过用for循环遍历的,但今天忽然有人问用最简单的方法达到效果,就渗死了一下。顿时觉得以前的思想太low了,很多问题都没有思想去努力做到最好。

现将最简单代码思想分享如下:

在java.lang.string中有一个常用的字符串拆分方法string.split("str").利用这种方法我们可以将字符串按我们要求的字符串拆分为一个字符串数组,然后用.length获得字符串数组的长度int,用int-1,就得到了str在string出现的次数了!是不是很easy?编程的世界里思想真的是第一。

代码如下:


//统计一段字符串中包含“7*R”的个数
public class twst002 {
public static void main(String[] args) {


String ss="weexc7*Reptiondfexc7*Reptionfh7*Rgexcepti77*Rondryexc77*Reption";
String[] s = ss.split("7*R");
System.out.println("7*R个数为:"+(s.length-1));


}


}

 

运行结果为:7*R个数为:5

时间: 2024-08-11 09:43:18

用最快的方法找到字符串中某一个字符串的个数的相关文章

模拟实现在一个字符串中查找一个字符串

在标准库中有一个函数strstr()用于在一个字符串中查找一个规定的字符串,这个函数可以模拟实现一下,代码如下: #include <stdio.h> #include <assert.h> char *my_strstr(const char str[],const char strstr[]) {  int i = 0,j = 0,k = 0;  assert(str != NULL);  assert(strstr != NULL);  for(i = 0;str[i] !=

寻找Coder-统计一个字符串中另外一个子串的个数

题目描述 请设计一个高效算法,再给定的字符串数组中,找到包含"Coder"的字符串(不区分大小写),并将其作为一个新的数组返回.结果字符串的顺序按照"Coder"出现的次数递减排列,若两个串中"Coder"出现的次数相同,则保持他们在原数组中的位置关系. 给定一个字符串数组A和它的大小n,请返回结果数组.保证原数组大小小于等于300,其中每个串的长度小于等于200.同时保证一定存在包含coder的字符串. 测试样例: ["i am a

查找字符串中相同连续字符串最多的子串,如果有两串长度相同取asc码 例如1233455 中是33

package test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; // 查找字符串中相同连续字符串最多的子串,如果有两串长度相同取asc码 例如1233455 中是33 /* 思路:新建一个map和字符数组,map中key为字符,value为连续字符个数:当第一次出现字符时,将字符存入m

在php中判断一个字符串包含另一个字符串

方法一:用php的strpos() 函数判断字符串中是否包含某字符串的方法 if(strpos('Longway','way') !== false){ echo '包含way'; }else{ echo '不包含way'; } 方法二:使用了explode 用explode进行判断PHP判断字符串的包含代码如下: <?php $url = "001a.gif"; $str = "a"; $con = explode($str,$url); if (count

JavaScript替换字符串中最后一个字符

1.问题背景 在一个输入框中,限制字符串长度为12位.利用键盘输入一个数字,会将字符串中最后一位替换,比方:111111111111.再输入一个3,会显示111111111113 2.详细实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html x

java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”

在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断方法,如下: // 判断一个字符串是否都为数字 public boolean isDigit(String strNum) { return strNum.matches("[0-9]{1,}"); } // 判断一个字符串是否都为数字 public boolean isDigit(Str

HDU 4622 求解区间字符串中的不同子串的个数

题目大意: 给定一个长度<2000的串,再给最多可达10000的询问区间,求解区间字符串中的不同子串的个数 这里先考虑求解一整个字符串的所有不同子串的方法 对于后缀自动机来说,我们动态往里添加一个字符,每次添加一个字符进去,我们只考虑那个生成的长度为当前长度的后缀自动机的节点 那么这个节点可接收的字符串的个数就是( p->l - p->f->l ),也就是以当前点为最后节点所能得到的与之前不重复的子串的个数 那么这个问题就很好解决了,共2000个位置,以每一个位置为起点构建一次后缀

在一个字符串中截取指定字符串,域名截取,尝试截取不同网址的域名?

/** * 在一个字符串中截取指定字符串,域名截取,尝试截取不同网址的域名? *比如www.163.com,www.sohu.com.cn * 字符串截取就需要用subString() * 索引的位置,这里需要找第一个"."作为每次域名的开始索引,然后找下一个("."+1)作为结束位置 * 第一个点好找,indexOf搞定,第二点,用indexOf(".",之前的"."+1)找到 */ public class StringD

获取字符串中某一个字段的数据,GetValueFromStr

gps数据格式为:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A* /********************************************************************** *版权所有 (C)2015, Wuyq. * *文件名称: GetValueFromStr.c *内容摘要:用于演示从gps数据字符串中获取相应的内容 *其它说明:无 *当前版本: V1.0 *作