【Java】Get Same String Count

本篇說明某個字串出現的次數。

有一天需要用到某個字串出現某個字串的數量
查了一下 String 的官網,好像沒有針對這個部分來寫
於是就自己寫一個啦 ~ 寫法有很多種,以下說明兩種方法

第一種方法

  • int indexOf(String str)
使用這個 function 會回傳第一個 match 到的字串,再利用
  • String substring(int beginIndex)
刪除已捨棄的字串。

附上程式碼
  public int getStrMatchCount1(String ori, String match)
  {
    int count = 0;
    while (true)
    {
      int index = ori.indexOf(match);
      if (index == -1)
        break;
      ori = ori.substring(index + match.length());
      count++;
    }
    return count;
  }


第二種方法

  • String[] split(String regex)
用 split 字串切割的方法,最後再把數量 -1
但是如果 match 的字串出現在頭尾會有問題,所以必須先補一些非 match 的字串在頭尾

附上程式碼
    public int getStrMatchCount2(String ori, String match)
    {
        ori = "^" + ori + "^";
        String[] tokens = ori.split(match);
        return tokens.length - 1;
    }

如果說我喜歡哪一種方法
應該很明顯是第一種,因為不需要額外加任何東西,穩穩的
給大家參考囉
本篇參考

留言