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.
- 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?
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
- 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.
- 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