Wie kann man einen String in Java trennen

Es gibt viele Möglichkeiten, einen String in Java zu splitten. Die gebräuchlichste Methode ist die Methode split() die verwendet wird, um einen String in ein Array von Teilstrings aufzuteilen, und gibt das neue Array zurück.

  1. Der Gebrauch von String.split ()

Die Methode string split() bricht einen gegebenen String um Übereinstimmungen des angegebenen regulären Ausdrucks. Es gibt zwei Varianten der Methode split() in Java:

  • public String split(String regex)

Diese Methode nimmt einen regulären Ausdruck als Parameter und bricht der angegebene String um Übereinstimmungen dieses regulären Ausdrucks regex. Hier ist der standardmäßige Grenzwert 0.

Der Parameter dafür ist: regex (ein abgrenzender regulärer Ausdruck).

Es gibt ein Array von Strings zurück, die durch Aufteilen des angegebenen Strings berechnet wurden.

Beispiel

public class StringSplitTest { 
public static void main(String[] arg){ 
String str = "Welcome:dear guest"; 
String [] arrOfStr = str.split(":"); 
for(String a:arrOfStr) 
System.out.println(a); } }

Die Ausgabe dafür wird folgende sein:

Willkommen 
lieber Gast

Hinweis: Ändern Sie regex, um zu einem anderen Ergebnis zu kommen:
Z. B. für ("e") regex wird das Ergebnis folgene sein:

W
lcom
:d
ar gu
st
  • public String split(String regex, int limit)

Die Parameter hierfür sind: regex(der abgrenzende reguläre Ausdruck) und limit(steuert die Anzahl der Anwendungen des Musters und beeinflusst somit die Länge des resultierenden Arrays).

Dies gibt das Array der gezählten Strings zurück, indem diese Strings um Übereinstimmungen des angegebenen regulären Ausdrucks aufgeteilt werden.

Beispiel

public class StringSplitTest { 
public static void main(String[] arg){ 
String str = "Hello:world:hello"; 
String split[] = str.split("e", 5); 
for(String s:split) 
System.out.println(s); } }

Die Ausgabe dafür wird folgende sein:

H
llo:world:h
llo

Hinweis: Verändern Sie regex und limit, um unterschiedliche Ausgabe zu haben: Z. B. (":", 2)- die Ausgabe wird {Hello, world:hello}; (":", -2)-{Hello, world, hello}, etc.

Lassen Sie uns ein anderes Beispiel betrachten:

public class StringSplitTest { 
public static void main(String[] arg){ 
String str = "Was machst du heute?"; 
String split[] = str.split(" ", 0); 
for(String s:split) 
System.out.println(s); } }

Die Ausgabe dafür wird folgende sein:

Was
machst
du
heute?

Hinweis: Verändern Sie regex und limit, um andere Ausgabe zu haben: Z. B. (" ", 2) - das Ergebnis ist:

Was
machst du heute?
Vorschlag: Stellen Sie den Grenzwert auf Null ein, um alle Strings, die mit regex übereinstimmen, zurückzugeben.
Sie können auch String Split mit mehreren Zeichen mit regex verwenden.
public class StringSplitTest { 
      public static void main(String args[]) { 
   String s = " ;String; String; String; String, String; String;;String;String; String; String; ;String;String;String;String"; //String[] strs = s.split("[,\\s\\;]"); 
         String[] strs = s.split("[,\\;]"); 
         System.out.println("Substrings length:"+strs.length); 
         for (int i=0; i < strs.length; i++) { 
          System.out.println("Str["+i+"]:"+strs[i]); 
     }
   }
}

Die Ausgabe dafür wird folgende sein:

Substrings length:17
Str[0]: 
Str[1]:String
Str[2]: String
Str[3]: String
Str[4]: String
Str[5]: String
Str[6]: String
Str[7]:
Str[8]:String
Str[9]:String
Str[10]: String
Str[11]: String
Str[12]: 
Str[13]:String
Str[14]:String
Str[15]:String
Str[16]:String
  1. Verwenden Sie StringTokenizer

In Java erlaubt der String tokenizer, ein String in Token zu zerlegen. Sie können auch die Anzahl der Token innerhalb eines String-Objekts ermitteln.

Beispiel

import java.util.StringTokenizer;

public class StringTokenizerExample {
    public static void main(String[] args) {
        StringTokenizer st =
            new StringTokenizer("A StringTokenizer sample");

        // get how many tokens are inside st object
        System.out.println("Tokens count: " + st.countTokens());

        // iterate st object to get more tokens from it
        while (st.hasMoreElements()) {
            String token = st.nextElement().toString();
            System.out.println("Token = " + token);
        }
    }
}

Ergebnis

Tokens count: 3
Token = A
Token = StringTokenizer
Token = sample

Hinweis: Sie können das Trennzeichen angeben, mit dem der String aufgeteilt wird. Im angegebenen Beispiel haben wir das Trennzeichen als Leerzeichen gesetzt. (”).

Es ist auch möglich, StringTokenizer mit mehreren Trennzeichen zu verwenden.

Beispiel

import java.util.StringTokenizer;

public class StringTokenizerExample {
    public static void main(String[] args) {
       String url = "http://www.w3docs.com/learn-javascript.html";
StringTokenizer multiTokenizer = new StringTokenizer(url, "://.-");
while (multiTokenizer.hasMoreTokens())
{
    System.out.println(multiTokenizer.nextToken());
}
    }
}

Ausgabe:

http
www
w3docs
com
learn
javascript
html

Hinweis: Im oben erwähnten Beispiel wurden Trennzeichen :, //, ., verwendet.

  1. Verwenden Sie Pattern.compile ()

Diese Methode teilt die angegebene Eingabefolge um Übereinstimmungen des Musters auf. Die Parameter dafür ist: input - die zu splittende Zeichenfolge.

Es gibt das Array von Strings, die durch Aufteilen der Eingabe um Übereinstimmungen des Musters berechnet wurden, zurück.

Beispiel

import java.util.regex.Pattern;

public class PatternDemo {
   private static String REGEX = ":";
   private static String INPUT = "hello:dear:guest";

   public static void main(String[] args) {
      Pattern pattern = Pattern.compile(REGEX);

      String[] result = pattern.split(INPUT);
      for(String data:result){
         System.out.println(data); 
      }
   }
}

Die Ausgabe dafür wird folgende sein:

Hallo
geehrter
Gast