最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)的方法

 更新時間:2018年03月28日 14:58:16   作者:狂奔的小獅子  
這篇文章主要介紹了Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)的方法,涉及java字符串遍歷、正則匹配等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)的方法。分享給大家供大家參考,具體如下:

Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)

代碼如下:

package me.chunsheng.javatest;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * Created by wei_spring on 16/10/11.
 * <p>
 * 統(tǒng)計一個字符串在另外一個字符串出現(xiàn)的次數(shù)
 * 正則匹配的方法,前提字符串不是特殊字符串
 * eg:finder("adadadadauuada", "ada") 這樣會統(tǒng)計不準(zhǔn)確的.
 * 另外一個遍歷的解決了上面那種情況.
 * 兩者時間如下(納秒為單位): 正則明顯耗時,正則本就不是統(tǒng)計用的!!!
 * finder:3
 * finderTime:1579549
 * getCount:4
 * getCountTime:34506
 */
public class SubStringCount {
  public static void main(String[] args) {
    System.out.println("腳本之家測試結(jié)果:");
    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;
  }
}

運行結(jié)果:

時刻懷有一顆虔誠之心,樂于分享。知識才更有意義。

PS:這里再為大家推薦2款非常方便的統(tǒng)計工具供大家參考使用:

在線字?jǐn)?shù)統(tǒng)計工具:
http://tools.jb51.net/code/zishutongji

在線字符統(tǒng)計與編輯工具:
http://tools.jb51.net/code/char_tongji

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

最新評論

安达市| 固安县| 即墨市| 竹北市| 尚义县| 广水市| 阿鲁科尔沁旗| 三明市| 汶川县| 北宁市| 南召县| 遵义县| 凌源市| 崇阳县| 永城市| 富阳市| 肇源县| 杭锦后旗| 武冈市| 绥阳县| 马关县| 邻水| 桐柏县| 乳山市| 建瓯市| 九龙城区| 游戏| 米脂县| 旺苍县| 乌兰浩特市| 道孚县| 鹿泉市| 色达县| 宁蒗| 衡山县| 宣城市| 北宁市| 博白县| 航空| 宁晋县| 正蓝旗|