Este artículo describe el método de Java que indica el número de ocurrencias de una cadena en otra cadena. Compártelo para su referencia, como sigue:
Java cuenta el número de veces que aparece una cadena en otra cadena
El código es el siguiente:
paquete me.chunsheng.javatest; import java.util.regex.matcher; import java.util.regex.pattern;/*** creado por wei_spring el 16/10/11. * <P>* Estadísticas El número de veces que aparece una cadena en otra cadena* Un método de coincidencia regular, suponiendo que la cadena no sea una cadena especial* EG: Finder ("Adadadadauada", "Ada") será inexacta. * Otro recorrido resuelve la situación anterior. * El tiempo entre los dos es el siguiente (en nanosegundos): ¡obviamente es regular, y el regular no se usa para las estadísticas! * Finder: 3 * FindERTime: 1579549 * getCount: 4 * getCounttime: 34506 */public class SubstringCount {public static void main (string [] args) {System.out.println ("Wulin.com Test Resultado:"); larga corriente1 = 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 (String Source, String Sub) {int count = 0; int longitud = fuente.length () - sub.length (); for (int i = 0; i <longitud; 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; } Expresión de patrones = patrón.compile (regex); Matcher matcher = Expression.Matcher (fuente); int n = 0; while (matcher.find ()) {n ++; } return n; }}Resultados de ejecución:
Siempre tenga un corazón piadoso y esté dispuesto a compartir. El conocimiento es más significativo.
PD: Aquí hay dos herramientas estadísticas muy convenientes para su referencia:
Herramienta de conteo de palabras en línea:
http://tools.vevb.com/code/zishutongji
Estadísticas de caracteres en línea y herramientas de edición:
http://tools.vevb.com/code/char_tongji
Para obtener más información sobre los algoritmos de Java, los lectores interesados en este sitio pueden ver los temas: "Estructura de datos Java y tutorial de algoritmo", "Resumen de las puntas de nodo de operación de Java DOM", "Resumen de Java Archivo y TIPS de operación de directorio" y "Summary of Java Cache Operation Tips" TIPS ""
Espero que este artículo sea útil para la programación Java de todos.