精华内容
下载资源
问答
  • 本文是基于String类中的indexOf(String str, int fromIndex)方法,从指定的索引开始,返回第一次出现的指定子字符串在此字符串内的索引实现子串出现次数统计

    本文是基于String类中的indexOf(String str, int fromIndex)方法,从指定的索引开始,返回第一次出现的指定子字符串在此字符串内的索引实现子串出现次数的统计。

    例如1:字符串 abcacababc 包含 3 个子字符串 ab ;
    例如2:字符串 aaaaaa 包含 5 个子字符串 aa 。

    代码实现如下

    /**
     * 统计某个字符串中指定子串出现的次数
     * @param base 字符串
     * @param subString 子字符串
     * @return 字符串中子字符串出现的次数
     */
    public static int totalSubStringCount(String base,String subString){
    	if(subString == null || "".equals(subString)) return 0;
    	int count = 0;
    	int fromIndex = 0;
    	while(true){
    		int index = base.indexOf(subString, fromIndex);
    		if(index == -1) break;
    		fromIndex = index + 1;
    		count++;
    	}
      return count;
    }
    
    展开全文
  • 待匹配字符串为str,子字符串为child,使用正则表达式代码如下: Pattern p = Pattern.compile(child, Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(str); int count = 0; while (m....

    待匹配字符串为str,子字符串为child,使用正则表达式代码如下:

    1. Pattern p = Pattern.compile(child, Pattern.CASE_INSENSITIVE);
    2. Matcher m = p.matcher(str);
    3. int count = 0;
    4. while (m.find()) {
    5. count++;
    6. }

    常用正则表达式

    规则 正则表达式语法  
    一个或多个汉字 ^[\u0391-\uFFE5]+$ 
    邮政编码 ^[1-9]\d{5}$
    QQ号码 ^[1-9]\d{4,10}$ 
    邮箱 ^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}$ 
    用户名(字母开头 + 数字/字母/下划线) ^[A-Za-z][A-Za-z1-9_-]+$
    手机号码 ^1[3|4|5|8][0-9]\d{8}$ 
    URL ^((http|https)://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ 
    18位身份证号 ^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$

     

    正则表达式语法

    元字符

    描述

    \

    将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。

    ^

    匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。

    $

    匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。

    *

    匹配前面的子表达式任意次。例如,zo*能匹配“z”,“zo”以及“zoo”。*等价于{0,}。

    +

    匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。

    ?

    匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”。?等价于{0,1}。

    {n}

    n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。

    {n,}

    n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。

    {n,m}

    m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。

    ?

    当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。

    .点

    匹配除“\r\n”之外的任何单个字符。要匹配包括“\r\n”在内的任何字符,请使用像“[\s\S]”的模式。

    (pattern)

    匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“”或“ 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 \1 到\9 的符号来引用。

    | 将两个匹配条件进行逻辑“或”(Or)运算。例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。
    + 匹配1或多个正好在它之前的那个字符。例如正则表达式9+匹配9、99、999等。注意:这个元字符不是所有的软件都支持的。
    ? 匹配0或1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的。
    {i} {i,j} 匹配指定数目的字符,这些字符是在它之前的表达式定义的。例如正则表达式A[0-9]{3} 能够匹配字符"A"后面跟着正好3个数字字符的串,例如A123、A348等,但是不匹配A1234。而正则表达式[0-9]{4,6} 匹配连续的任意4个、5个或者6个数字

    展开全文
  • import java.util.Arrays; /** * Author:Liu Zhiyong * Version:Version_1 * Date:2016年6月30日13:21:05 * Desc: */ public class MyTrim { public static void main(String[] args) {
    package com.cn.string;
    import java.util.Arrays;
    /**
    * Author:Liu Zhiyong
    * Version:Version_1
    * Date:2016年6月30日13:21:05
    * Desc:
    */
    public class MyTrim {
    	public static void main(String[] args) {
    			
    		String str = "abcjavaphpjavajavajavacjabcjavajavajavaajava";
    		occurTimes("java", str);
    //		System.out.println(str.indexOf("java", 2000000000000000)); //测试越界问题
    	}
    	
    	//获取文件名1
    	public static String getFileName(String path){
    		int startIndex = path.lastIndexOf("\\") + 1;	
    		return path.substring(startIndex);
    	}
    
    	//求一个字符串在整串中出现的次数
    	public static void occurTimes(String sonStr, String fatherStr){
    		int count = 0;//记录出现的次数
    		int fromIndex = 0;//用于记录开始寻找的索引值
    		while(fatherStr.indexOf(sonStr , fromIndex) != -1){			
    			count++;
    			fromIndex = fatherStr.indexOf(sonStr , fromIndex) + sonStr.length();			
    		}
    		
    		System.out.println("子字符串出现的次数" + count);
    	}
    }
    

    展开全文
  • (2) 取出子字符串"test" (3) 用多种方式将本字符串复制到一个字符数组Char[] str中. (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。 (5) 用两种方式实现该字符串的倒序输出。(用StringBuffer和for...
    package Char_String;
    
    import com.sun.xml.internal.ws.util.StringUtils;
    
    import java.util.Arrays;
    
    /**
     * Created by Administrator on 2017/5/16.
     * (1) 统计该字符串中字母s出现的次数
    
     (2) 取出子字符串"test"
    
     (3) 用多种方式将本字符串复制到一个字符数组Char[] str中.
    
     (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
    
     (5) 用两种方式实现该字符串的倒序输出。(用StringBuffer和for循环方式分别实现)
    
     (6)将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的英文单词,并输出到控制台
     */
    public class TestString {
        public static void main(String[] args) {
            String s = "this is a test of java";
            int n = (s.split("s")).length - 1;
            System.out.println("s出现的次数" + n);
    
            String b = s.substring(10, 14);
            System.out.println("取出字符串" + b);
    
            String[] c = s.split(" ");
            System.out.print("数组为:");
            System.out.println(Arrays.toString(c));
    
            System.out.print("首字母大写后:");
            for (int i = 0; i < c.length; i++) {
                System.out.print(String.valueOf(StringUtils.capitalize(c[i])) + " ");
            }
    
            System.out.println();
            StringBuffer s1 = new StringBuffer(s).reverse();
            System.out.println("倒序结果" + s1);
    
            System.out.println(Arrays.toString(c));
        }
    }
    
    展开全文
  • 统计给定字符串中的GFG(Count of ...你的任务是统计其中序列‘GFG’ 出现次数。 举例说明: 例如给定字符串 : str[] = "GFGFG" 统计输出结果 : 4 GFGFG, GFGFG, GFGFG, GFGFG 例如给定字符串 : str[] = "A...
  • 2、取出子字符串"new"。 3、将字符串中每个单词的第一个字母变成大写, 输出到控制台。 4、用多种方式实现该字符串的倒叙输出。 for example:“welcome to my new homepage” 1、只需要将字符串变为数字并对数组...
  • java字符串练习2

    2018-08-09 00:54:17
    问答题: 1.==与equals的区别 2.String与StringBuffer的区别   编程. 1.已知字符串:"... (2) 取出子字符串"test"  (3) 用多种方式将本字符串复制到一个字符数组Char[] str中.  (4) ...
  • (2) 【简】取出子字符串"test" (3) 【简】将本字符串复制到一个字符数组Char[] str中. (4) 【中】将字符串中每个单词的第一个字母变成大写, 输出到控制台。 package day03; public class Demo8 { public static ...
  •  * 2)取出子字符串“test”  * 3)用多种方式将字符串复制到一个字符数组Char[] str中  * 4)将字符串中每个单词的第一个字母変成大写,输出到控制台  * 5)用两种方式实现该字符串的倒叙输出(用StringBuf
  • String字符串的操作

    2016-08-04 20:41:20
    /** ... (2) 取出子字符串"test" (3) 将本字符串复制到一个字符数组Char[] str中. (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。 (5) 用两种方式实现该字符串的倒叙输出。(用St
  • JAVA高级练习题 编写一个程序实现从命令行参数输入两个字符串类型的数值并计算输出两个数值的和 2编写一个程序实现从命令行参数输入一字符串统计字符串中字符e出现的次数 package zuoye; /* * 输出e的出现次数 */ ...
  • Java练习题day03

    2019-10-15 10:09:09
    (2) 取出子字符串”test” (3) 将本字符串复制到一个字符数组Char[] str中. (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。 (5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和f...
  • 1.编程. 已知字符串:”this is a ... (2) 取出子字符串”test” (3) 将本字符串复制到一个字符数组Char[] str中. (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。 (5) 用两种方式实现该字符串...
  • 1、给定一个字符串数组{“nba”,“abc”,“cba”,“zz”,“qq”,“haha”},请按照字典顺序进行从小到大的排序。 2、请统计"nba"在字符串"nbaernbatynbauinbaopnba"中出现的...(2) 取出子字符串”test” (3) 将本...
  • java作业

    2017-11-02 18:34:04
    有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长...统计大串中小串出现次数 举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出 现了5次 package D
  • 采用Nagao算法统计各个子字符串的频次,然后基于这些频次统计每个字符串的词频、左右邻个数、左右熵、交互信息(内部凝聚度)。 名词解释:  Nagao算法:一种快速的统计文本里所有子字符串频次的算法。详细算法...
  • java习题

    2017-11-01 21:30:00
    1:有一对兔子,从出生后第3个月起每个...(使用递归去解决)3:统计大串中小串出现次数 举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出 现了5次public class S
  • java 10.28/29 作业

    2017-11-03 06:53:30
    有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每...统计大串中小串出现次数 举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出 现了5
  • java练习-(三)

    2017-11-02 16:25:19
    1.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月...2.统计大串中小串出现次数 举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出现了5次
  • java作业day10/1

    2017-11-02 21:56:09
    有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,...3:统计大串中小串出现次数 举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaij
  • 2017.08.10-String练习

    2017-08-10 21:02:07
    import java.util.Arrays; /* * 1.编程. 已知字符串:"this is a test of java".... (1) 统计该字符串中字母s出现次数 (2) 取出子字符串"test" (3) 将本字符串复制到一个字符数组Char[] str中. (4)
  • 常用类练习提

    2016-07-28 21:23:09
    package homework; import java.util.Arrays; //1.编程. 已知字符串:"this is a test of java"....// (2) 取出子字符串"test" // (3) 将本字符串复制到一个字符数组Char[] str中. // (4) 将字符串中每个单词的第
  • 这两个实例现在还有一点细节没有搞明白,大...package Map统计字符串出现次数; import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.Map.Entry; public class a { public...
  • 4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 65 5、说明生活中遇到的二叉树,用java实现二叉树 66 6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和...
  • java 经典习题.doc

    2009-09-16 11:32:59
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22...
  • 面试题39:数组中出现次数超过一半的数字 解法3:基于Partition函数的时间复杂度为O(n)的算法 测试 博客地址 面试题39:数组中出现次数超过一半的数字 解法4:根据数组特点找出时间复杂度为O(n)的算法 测试 博客...
  • java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java Io流的40多个类都是从如下4个抽象类基类中派生出来的。 InputStream/Reader: 所有的输入流的基类,前者是...
  • 2009达内SQL学习笔记

    2010-02-10 19:46:58
    通配符%表示任何字符出现任意次数;还能代表搜索模式中给定位置的0个或多个字符。下划线匹配单个任意字符。 如:select table_name from user_tables where table_name like 'S\_%' escape'\'; ' 找出“S_“开头...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

java统计子字符串出现次数

java 订阅