Prefacio
Creo que todos deberían saber que en la programación de Java, a veces necesitamos dividir una cadena de acuerdo con un carácter específico, letra, etc. como punto de corte, para que podamos usar parte de esta cadena o guardar todo el contenido interceptado en una matriz. El siguiente artículo compartirá con usted dos formas de segmentación. Echemos un vistazo juntos.
1. El método Split () de Java.lang.String, JDK 1.4 o posterior
public String[] split(String regex,int limit)
Código de muestra
Public Class Stringsplit {public static void main (String [] args) {String SourCestr = "1,2,3,4,5"; String [] SourCestray = SourCest.split (","); for (int i = 0; i <SourCestray.length; i ++) {System.out.println (SourCestRaRray [i]); } // dividido hasta 3 cadenas int maxsplit = 3; SourCestray = SourCest.split (",", maxsplit); for (int i = 0; i <SourCestray.length; i ++) {System.out.println (SourCestRaRray [i]); }}} Resultado de salida:
12345123,4,5
La implementación dividida llama directamente al método dividido de la clase Matcher. Al usar el método String.split para delimitar cadenas, si el delimitador usa algunos caracteres especiales, es posible que no obtenga los resultados que esperábamos.
Los personajes con significados especiales en expresiones regulares deben escaparse cuando los usamos. Ejemplo:
Public Class Stringsplit {public static void main (string [] args) {String value = "192.168.128.33"; // Tenga en cuenta que debe agregar //, o no salga, sí, string [] names = value.split ("//."); for (int i = 0; i <names.length; i ++) {system.out.println (nombres [i]); }}}Resumen del separador dividido
1. Los caracteres "|", "*", "+" deben agregarse con personajes escapados, y se agrega ante ellos "//".
2. Si es "/", entonces debe escribirse como "////".
3. Si hay varios delimitadores en una cadena, puede usar "|" como un guión.
Por ejemplo: String str = "Java string-split#test" , puede usar Str.split(" |-|#") para separar cada cadena. Esto divide la cadena en 3 sustros.
2. Java.util.Tokenizer JDK 1.0 o posterior
StringTokenizer
La clase StringTokenizer permite que las aplicaciones descompongan las cadenas en tokens. StringTokenizer es una clase heredada que se conserva por razones de compatibilidad (aunque no se fomenta en un nuevo código). Se recomienda que todos aquellos que buscan esta función usan el método dividido de String o el paquete java.util.regex.
Ejemplo de código
Public Class Stringsplit {public static void main (String [] args) {String ip = "192.168.128.33"; StringTokenizer token = new StringTokenizer (ip, "."); while (token.hasmoreelements ()) {system.out.print (token.nextToken ()+""); }}}Sin embargo, para la división de la cadena "192.168..33", la matriz de cuerdas devuelta tiene solo 3 elementos, y se ignorará la cadena vacía entre los dos separadores. Esto debe usarse con precaución.
Sin embargo, String.split ( String.split se combina con expresiones regulares, por lo que no utiliza el algoritmo de coincidencia de cadena KMP) usa algoritmos que atraviesan en secuencia, con una complejidad de alto tiempo de O (M*N), por lo que en términos de rendimiento, StringTocedOwerer es mucho mejor. Para las aplicaciones que usan con frecuencia la segmentación de cadenas, como el procesamiento de datos ETL, el rendimiento del uso de StringTokenizer puede mejorarse mucho.
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo sea de ayuda para su estudio o trabajo. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse.