中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何統計一個字符串在另外一個字符串出現次數

發布時間:2021-08-07 11:55:25 來源:億速云 閱讀:237 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Java如何統計一個字符串在另外一個字符串出現次數,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

具體如下:

Java統計一個字符串在另外一個字符串出現次數

代碼如下:

package me.chunsheng.javatest;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * Created by wei_spring on 16/10/11.
 * <p>
 * 統計一個字符串在另外一個字符串出現的次數
 * 正則匹配的方法,前提字符串不是特殊字符串
 * eg:finder("adadadadauuada", "ada") 這樣會統計不準確的.
 * 另外一個遍歷的解決了上面那種情況.
 * 兩者時間如下(納秒為單位): 正則明顯耗時,正則本就不是統計用的!!!
 * finder:3
 * finderTime:1579549
 * getCount:4
 * getCountTime:34506
 */
public class SubStringCount {
  public static void main(String[] args) {
    System.out.println("億速云測試結果:");
    long current1 = System.nanoTime();
    System.out.println("finder:" + finder("adadadadauuada", "ada"));
    System.out.println("finderTime:" + (System.nanoTime() - current1));
    long current2 = System.nanoTime();
    System.out.println("getCount:" + getCount("adadadadauuada", "ada"));
    System.out.println("getCountTime:" + (System.nanoTime() - current2));
  }
  public static int getCount(String source, String sub) {
    int count = 0;
    int length = source.length() - sub.length();
    for (int i = 0; i < length; i++) {
      String sourceBak = source.substring(i, i + sub.length());
      int index = sourceBak.indexOf(sub);
      if (index != -1) {
        count++;
      }
    }
    return count;
  }
  public static int finder(String source, String regexStr) {
    String regex = "[a-zA-Z]+";
    if (regexStr != null && !regexStr.equals("")) {
      regex = regexStr;
    }
    Pattern expression = Pattern.compile(regex);
    Matcher matcher = expression.matcher(source);
    int n = 0;
    while (matcher.find()) {
      n++;
    }
    return n;
  }
}

運行結果:

Java如何統計一個字符串在另外一個字符串出現次數

關于“Java如何統計一個字符串在另外一個字符串出現次數”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤壁市| 霸州市| 汉寿县| 安龙县| 鄢陵县| 含山县| 湘西| 威远县| 德化县| 奇台县| 武胜县| 收藏| 教育| 海林市| 五寨县| 东方市| 宁陕县| 二连浩特市| 马山县| 南靖县| 四川省| 威宁| 吉首市| 蒲城县| 陇南市| 互助| 什邡市| 开鲁县| 滨海县| 车致| 镇巴县| 越西县| 微山县| 利津县| 安图县| 安龙县| 宜丰县| 湾仔区| 田林县| 图木舒克市| 清镇市|