首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 統計字串中某字元出現次數:replaceAll 技巧

     編輯:程式設計綜合問答

單字元計數

String str = "oiwerwwoijjjwwnlamxjswwkxmn2w";
int count = str.length() - str.replace("w", "").length();
// 或正則(需轉義特殊字元)
// int count = str.length() - str.replaceAll("w", "").length();

原理

replace(oldChar, newChar) / replaceAll(regex, replacement) 移除目標字元,長度差即為出現次數。replace 不用正則,**效能更好**,適用於單字元。

通用多字元/子字串計數

// 計數 "ab" 出現次數(不重疊)
int count = (str.length() - str.replace("ab", "").length()) / "ab".length();

大量統計優化

  • 單次遍歷 for (char c : str.toCharArray()) if (c == 'w') count++; 避免建立新字串,記憶體效率最高。
  • 需統計所有字元頻率:int[] freq = new int[65536]; for (char c : str.toCharArray()) freq[c]++;。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved