Vorwort
Ich glaube, jeder sollte wissen, dass wir in der Java-Programmierung manchmal eine Zeichenfolge nach einem bestimmten Charakter, Buchstaben usw. als Grenzwert teilen müssen, damit wir einen Teil dieser Zeichenfolge verwenden oder alle abgefangenen Inhalte in ein Array speichern können. Der folgende Artikel wird Ihnen zwei Segmentierungsmethoden mitteilen. Schauen wir uns zusammen.
1. Die Split () -Methode von Java.lang.String, JDK 1.4 oder höher
public String[] split(String regex,int limit)
Beispielcode
public class stringsplit {public static void main (String [] args) {String sourcestr = "1,2,3,4,5"; String [] Sourcestrarray = Sourcestr.split (","); für (int i = 0; i <Sourcestrarray.length; i ++) {System.out.println (Sourcestrarray [i]); } // Teilen Sie bis zu 3 Zeichenfolgen int maxSplit = 3; SourCestrarray = Sourcestr.Ssplit (",", maxSplit); für (int i = 0; i <Sourcestrarray.length; i ++) {System.out.println (Sourcestrarray [i]); }}} Ausgangsergebnis:
12345123,4,5
Die Split -Implementierung ruft direkt die Split -Methode der Matcher -Klasse auf. Bei Verwendung der String.split -Methode zum Abgrenzungszeichenfolgen wird möglicherweise nicht die erwarteten Ergebnisse erhalten, wenn der Trenngeber einige Sonderzeichen verwendet.
Charaktere mit besonderen Bedeutungen in regulären Ausdrücken müssen entkommen, wenn wir sie verwenden. Beispiel:
public class stringsplit {public static void main (String [] args) {String value = "192.168.128.33"; // Beachten Sie, dass Sie hinzufügen sollten //, entweder nicht herauskommen, yeah string [] names = value.split ("//"); für (int i = 0; i <names.length; i ++) {System.out.println (Namen [i]); }}}Zusammenfassung des Split -Separators
1. Die Zeichen "|", "*", "+" müssen mit entkommenen Zeichen hinzugefügt werden, und "//" wird vor ihnen hinzugefügt.
2. Wenn es "/" ist, muss es als "////" geschrieben werden.
3. Wenn in einer Zeichenfolge mehrere Grenzwerte enthalten sind, können Sie "|" verwenden. als Bindestrich.
Zum Beispiel: String str = "Java string-split#test" können Sie Str.split(" |-|#") verwenden, um jede Zeichenfolge zu trennen. Dies unterteilt die Zeichenfolge in 3 Substrings.
2. Java.util.Tokenizer JDK 1.0 oder höher
StringTokenizer
Mit der StringTokenizer -Klasse können Anwendungen Strings in Token zerlegen. StringTokenizer ist eine Legacy -Klasse, die aus Kompatibilitätsgründen erhalten bleibt (obwohl sie in neuem Code nicht gefördert wird). Es wird empfohlen, dass alle, die diese Funktion suchen, die Split -Methode von String oder das Java.util.regex -Paket verwenden.
Codebeispiel
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 ()+""); }}}Für die Aufteilung der Zeichenfolge "192.168..33" hat das zurückgegebene String -Array jedoch nur 3 Elemente, und die leere Zeichenfolge zwischen den beiden Separatoren wird ignoriert. Dies sollte mit Vorsicht verwendet werden.
String.split ( String.split ist jedoch mit regulären Ausdrücken übereinstimmt, sodass der KMP -String -Matching -Algorithmus nicht verwendet wird) Algorithmen verwendet, die nacheinander durchlaufen, mit einer hohen Zeitkomplexität von O (M*n). Bei Anwendungen, die häufig die String -Segmentierung verwenden, wie z. B. ETL -Datenverarbeitung, kann die Leistung der Verwendung von StringOkaizer erheblich verbessert werden.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, der Inhalt dieses Artikels wird Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen.