开发者社区> 问答> 正文

Java正则表达式,指定字符出现指定次数,怎么写? Java报错

比如,一个字符串,09:15和09:15:30, 想根据 :出现次数匹配。

展开
收起
海边一只船 2020-06-01 15:04:40 2311 0
1 条回答
写回答
取消 提交回答
  • public class Regular_1{
     /*求一个给定的字符串中一个指定字符出现的次数*/
    	static int times(String s, String regex){
    		s = " " + s + " ";
    		String[] result = s.split(regex);
    		return result.length-1;	
    	}
    	public static void main(String arg[]){
    	String str = "09:15和09:15:30";
    	System.out.println( "'0' 出现次数:" + times(str,"0"));	
    	System.out.println( "'1' 出现次数:" + times(str,"1"));	
    	System.out.println("'5' 出现次数:" + times(str,"5"));
    	}
    }
    /**
     * 根据:
     * 案例12:输入一个字符串,统计字符串中每一个字符出现的次数
     * https://www.cnblogs.com/chuijingjing/p/9560661.html
     * 代码。
     *
     */
    
    public class Regular_2 {
        public static void main(String[] args) {
            String str = "sdafv187623rtajhsd";
            String test = "09:15和09:15:30";
            fin(str);
            System.out.println("楼主的待测字符串:");
            fin(test);
        }
        
        public static  void fin(String str) {      
            // 获取第一个字符
            char c = str.charAt(0);
            // 将第一个字符都替换为空
            String str1 = str.replaceAll("" + c, "");
            // 计算两个字符串的长度
            int len = str.length() - str1.length();
            System.out.println(str.charAt(0) + ":" + len);
            // 如果替换后的字符串长度大于0.说明还没有统计完,再次调用统计方法
            if(str1.length() > 0)
            fin(str1);
        }
    }
    
    
    2020-06-01 15:04:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载