452 Stimmen

Wie man einen String durch ein Leerzeichen trennt

Ich muss meinen String durch Leerzeichen trennen. Dafür habe ich versucht:

str = "Hello I'm your String";
String[] splited = str.split(" ");

Aber es scheint nicht zu funktionieren.

8voto

Muhammad Suleman Punkte 2802

Wenn irgendwie Sie nicht String Split-Methode verwenden möchten, dann können Sie StringTokenizer Klasse in Java als verwenden.

    StringTokenizer tokens = new StringTokenizer("Hello I'm your String", " ");
    String[] splited = new String[tokens.countTokens()];
    int index = 0;
    while(tokens.hasMoreTokens()){
        splited[index] = tokens.nextToken();
        ++index;
    }

7voto

sachin pangare Punkte 1497

Versuchen Sie dies

    String str = "This is String";
    String[] splited = str.split("\\s+");

    String split_one=splited[0];
    String split_second=splited[1];
    String split_three=splited[2];

   Log.d("Splited String ", "Splited String" + split_one+split_second+split_three);

7voto

Anuj Kumar Soni Punkte 192

OK, wir müssen also splitten, da du die Antwort schon hast, würde ich sie verallgemeinern.

Wenn Sie eine beliebige Zeichenfolge durch Leerzeichen, Trennzeichen (Sonderzeichen) trennen wollen.

Entfernen Sie zunächst die führenden Leerzeichen, da diese die meisten Probleme verursachen.

str1 = "    Hello I'm your       String    ";
str2 = "    Are you serious about this question_  boy, aren't you?   ";

Entfernen Sie zunächst das führende Leerzeichen, das ein Leerzeichen, ein Tabulator usw. sein kann.

String s = str1.replaceAll("^\\s+","");//starting with whitespace one or more

Wenn Sie nun durch ein Leerzeichen oder ein anderes Sonderzeichen trennen wollen.

String[] sa = s.split("[^\\w]+");//split by any non word char

Da w aber [a-zA-Z_0-9] enthält, müssen Sie, wenn Sie durch einen Unterstrich (_) trennen wollen, auch

 String[] sa = s.split("[!,? ._'@]+");//for str2 after removing leading space

5voto

gjain Punkte 4216

Eine andere Möglichkeit wäre:

import java.util.regex.Pattern;

...

private static final Pattern SPACE = Pattern.compile(" ");
String[] arr = SPACE.split(str); // str is the string to be split

Gesehen aquí

4voto

Syed Danish Haider Punkte 1244

Sie können die Zeichenfolge mit dem folgenden Code trennen:

   String theString="Hello world";

   String[] parts = theString.split(" ");

   String first = parts[0];//"hello"

   String second = parts[1];//"World"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X