บทความนี้อธิบายวิธีการของ Java ที่ระบุจำนวนการเกิดขึ้นของสตริงบนสตริงอื่น แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
Java นับจำนวนครั้งที่สตริงปรากฏในสตริงอื่น
รหัสมีดังนี้:
แพ็คเกจ me.chunsheng.javatest; นำเข้า java.util.regex.matcher; นำเข้า java.util.regex.pattern;/*** สร้างโดย wei_spring เมื่อวันที่ 16/10/11 * <p>* สถิติจำนวนครั้งที่สตริงปรากฏในสตริงอื่น* วิธีการจับคู่ปกติโดยสมมติว่าสตริงไม่ใช่สตริงพิเศษ* เช่น: Finder ("Adadadadauada", "ADA") จะไม่ถูกต้อง * การเดินทางอีกครั้งแก้สถานการณ์ข้างต้น * เวลาระหว่างทั้งสองมีดังนี้ (ในนาโนวินาที): ปกติใช้เวลานานอย่างเห็นได้ชัดและไม่ได้ใช้เป็นประจำสำหรับสถิติ !!! * Finder: 3 * FinderTime: 1579549 * GetCount: 4 * GetCountTime: 34506 */Public Class SubstringCount {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {system.out.println ("wulin.com ผลการทดสอบ:"); long current1 = system.nanotime (); System.out.println ("Finder:" + Finder ("Adadadadauada", "Ada")); System.out.println ("findertime:" + (system.nanotime () - current1)); Long current2 = system.nanotime (); System.out.println ("GetCount:" + GetCount ("Adadadadauauda", "Ada")); System.out.println ("getCountTime:" + (system.nanotime () - current2)); } public Static int getCount (แหล่งที่มาของสตริง, สตริงย่อย) {int count = 0; ความยาว int = source.length () - sub.length (); สำหรับ (int i = 0; i <length; i ++) {string sourceBak = source.substring (i, i+sub.length ()); INT INDEX = SourceBak.Indexof (sub); if (index! = -1) {count ++; }} นับคืน; } public static int finder (แหล่งที่มาของสตริง, regexstr) {string regex = "[a-za-z]+"; if (regexstr! = null &&! regexstr.equals ("")) {regex = regexstr; } pattern expression = pattern.compile (regex); matcher matcher = expression.matcher (แหล่งที่มา); int n = 0; ในขณะที่ (matcher.find ()) {n ++; } return n; -ผลการทำงาน:
มีหัวใจที่เคร่งศาสนาเสมอและเต็มใจที่จะแบ่งปัน ความรู้มีความหมายมากกว่า
PS: นี่คือเครื่องมือทางสถิติที่สะดวกมากสำหรับการอ้างอิงของคุณ:
เครื่องมือนับคำออนไลน์:
http://tools.vevb.com/code/zishutongji
สถิติอักขระออนไลน์และเครื่องมือแก้ไข:
http://tools.vevb.com/code/char_tongji
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอัลกอริทึม Java ผู้อ่านที่มีความสนใจในเว็บไซต์นี้สามารถดูหัวข้อ: "โครงสร้างข้อมูล Java และการสอนอัลกอริทึม", "บทสรุปของเคล็ดลับการดำเนินงาน Java Dom", "บทสรุปของไฟล์ Java และเคล็ดลับการดำเนินการไดเรกทอรี" และ "สรุป
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน