String nach erstem Leerzeichen trennen

B

beta20

Top Contributor
Hallo,

ich würde gerne einen String nach dem ersten Leerzeichen trennen, sodass ich immer zwei Wörter habe.
Anwendungsfall ist ein Name:
"Markus Mayer"
Ich benötige nun "Markus" und "Mayer".
Markus möchte ich dann in meine Variable "surname" speichern, "Mayer" in meine Variable "lastname".

Über split und dann split[0] und split[1] ist das kein Problem.
Was ist aber wenn ich einen Namen habe, "Markus Andreas Mayer"
-> Hier möchte ich dann "Markus Andreas" als Vorname haben und "Mayer" als Nachname

Wie mache ich das hier?
 
T

thecain

Top Contributor
Nach dem zweiten leerzeichen trennen.

Wenn dein Ziel aber ist Vorname und Nachname korrekt zu trennen, wird das alles andere als einfach (eigtl fast unmöglich)
 
Kirby.exe

Kirby.exe

Top Contributor
Nach dem zweiten leerzeichen trennen.

Wenn dein Ziel aber ist Vorname und Nachname korrekt zu trennen, wird das alles andere als einfach (eigtl fast unmöglich)
Also wenn es wirklich nur für einen Vor und Nachnamen splitten soll, dann splitte wie @thecain gesagt hat doch einfach am Leerzeichen, ungefähr so:

Java:
String s = "Markus Mayer";
String[] parts = s.split("\\s");
System.out.println(parts[0]);
System.out.println(parts[1]);;
Oder möchtest du, wenn du z.B. Vorname, Zweitname und Nachname hast den Vor und Zweitnamen zusammen und den Nachnamen getrennt?
 
B

beta20

Top Contributor
Oder möchtest du, wenn du z.B. Vorname, Zweitname und Nachname hast den Vor und Zweitnamen zusammen und den Nachnamen getrennt?

Ja, so möchte ich es
Ich habe nur zwei Felder in meinem CustomObject (surname und lastname).
Dass das ganze nicht immer 100% klappt, ist mir klar. Ann Kathrin Mayer, Kathrin Müller Mayer etc.

Wie kann ich das machen?
 
B

beta20

Top Contributor
Habe es jetzt mal so gelöst, ich bekomme das gewünschte Ergebnis - habe ich aber etwa einen möglichen Fehler nicht bedacht?

Java:
// Name aufsplitten
            String name = toAddress.getPersonal();
            String[] split = name.split(" ");

            if (split != null) {
                if (split[0] != null) {
                    e.setFromSurname(split[0]);
                }
                if (split.length == 2) {
                    e.setFromLastname(split[1]);
                }

                if (split.length > 2) {
                    String helperString = "";
                    for (int k = 1; k <= split.length - 1; k++) {
                        helperString += split[k];
                    }
                    e.setFromLastname(helperString);
                }
            }
 
H

httpdigest

Top Contributor
split[0] wird niemals null sein, der Test kann entfallen. Außerdem bedeuten die Begriffe "surname" und "last name" dasselbe, nämlich "Nachname".
Desweiteren baust du den finalen Nachnamen aus mehreren Nachnamen im helperString so zusammen, dass die mehreren Nachnamen nicht durch z.B. ein Leerzeichen getrennt werden.
Du kannst doch einfach mal Tests schreiben, um alle Fälle zu testen.
 
Thallius

Thallius

Top Contributor
Suche doch einfach mit indexOf nach dem letzten Leerzeichen im String und nutze dann subString um die beiden Ergebnisse zu bekommen.

Gruß

Claus
 
mihe7

mihe7

Top Contributor
Java:
String name = toAddress.getPersonal().trim();
String firstName = "";
String lastName = name;
int ix = name.lastIndexOf(' ');
if (ix != -1) {
    firstName = name.substring(0, ix) /* .trim() // optional */ ;
    lastName = name.substring(ix+1);
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S String nach erstem Whitespace kopieren Java Basics - Anfänger-Themen 3
I String nach Wort suchen Java Basics - Anfänger-Themen 6
P Ein Objekt nach einem String durchsuchen? Java Basics - Anfänger-Themen 7
F JMenuItem Kann nicht nach einem String benannt werden... Java Basics - Anfänger-Themen 11
G String wird nach Einlesen aus Datei nicht erkannt Java Basics - Anfänger-Themen 3
O String von vorne nach hinten an einem Zeichen Java Basics - Anfänger-Themen 10
B String nach HTML formatieren Java Basics - Anfänger-Themen 9
K String nach bestimmtem Muster parsen Java Basics - Anfänger-Themen 3
M Array nach String durchsuchen und zurückgeben Java Basics - Anfänger-Themen 16
S String trennen nach beliebigen Zeichen Java Basics - Anfänger-Themen 3
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
G String nach Contains/Regex Java Basics - Anfänger-Themen 2
F Wort nach String ausgeben Java Basics - Anfänger-Themen 5
M String nach float Konvertieren Java Basics - Anfänger-Themen 23
P Input/Output Arraylist nach String eines Objekts durchsuchen Java Basics - Anfänger-Themen 26
F String immer weiter nach Bedarf vergrößern Java Basics - Anfänger-Themen 3
W Array nach String durchsuchen und Ausgeben Java Basics - Anfänger-Themen 8
G Variabel: Nach String benannte Methode ausführen Java Basics - Anfänger-Themen 13
S String nach Größe sortieren Java Basics - Anfänger-Themen 6
F In einem String nach einem String suchen und Zeichen danach ausgeben Java Basics - Anfänger-Themen 6
M String nach Zahlen durchsuchen Java Basics - Anfänger-Themen 21
H Variablen string nach byte Java Basics - Anfänger-Themen 12
B String nach regex überprüfen Java Basics - Anfänger-Themen 6
C String Objekte Vergleich je nach Instanzierung unterschiedlich!!?!! Java Basics - Anfänger-Themen 4
H binärer String nach int convertieren Java Basics - Anfänger-Themen 3
S Von byte[] nach String zurueck nach byte[]. Arrays sind nicht identisch :( Java Basics - Anfänger-Themen 6
L Methoden String.split nach Absätzen? Java Basics - Anfänger-Themen 8
K Klassen String - nach Wort durchsuchen Java Basics - Anfänger-Themen 6
K Int nach String geht nicht Oo Java Basics - Anfänger-Themen 13
D Nach String "{" suchen Java Basics - Anfänger-Themen 4
S String nach Ausdruck durchsuchen und Folgeattribut ausgeben Java Basics - Anfänger-Themen 3
C String array nach File array Java Basics - Anfänger-Themen 15
D Wort nach Leerzeichen - String Java Basics - Anfänger-Themen 10
R Datentypen In String nach String suchen und hinzufügen Java Basics - Anfänger-Themen 2
C Datentypen int[][]-Array nach String[][]-Array konvertieren Java Basics - Anfänger-Themen 7
K StringWriter/String nach InputStream konvertieren Java Basics - Anfänger-Themen 3
L String zuverlässig nach Char parsen? Java Basics - Anfänger-Themen 4
B String Array nach Int Array Java Basics - Anfänger-Themen 3
A String nach bestimmten kriterien splitten Java Basics - Anfänger-Themen 13
E String abscheiden nach letztem Backslash Java Basics - Anfänger-Themen 3
H String/StringBuffer nach zeilen aufteilen Java Basics - Anfänger-Themen 2
D String nach ABC sortieren Java Basics - Anfänger-Themen 2
B String vom Server nach Position... (erledigt) Java Basics - Anfänger-Themen 6
G String nach int casten Java Basics - Anfänger-Themen 5
I Unstimmigkeit bei String-nach-Double-Konvertierung Java Basics - Anfänger-Themen 7
S Worthäufigkeiten zählen nach String.split() Java Basics - Anfänger-Themen 5
D String mit 2 Stellen nach dem Komma (Dezimalzahl) Java Basics - Anfänger-Themen 9
M Int nach String konvertieren? Java Basics - Anfänger-Themen 11
G String nach Pluszeichen splitten Java Basics - Anfänger-Themen 2
R string nach int[] Java Basics - Anfänger-Themen 4
A String Array: Suche nach Name -> Wert? Java Basics - Anfänger-Themen 3
B nach Zeichen suchen dass im string mehrmals vorkommt Java Basics - Anfänger-Themen 3
S Arrays nach String kovertieren und sortieren Java Basics - Anfänger-Themen 4
M String nach einer bestimmten Anzahl von Zeichen trennen Java Basics - Anfänger-Themen 2
B String nach byte[] Java Basics - Anfänger-Themen 17
H Von String nach Date Java Basics - Anfänger-Themen 2
G String Sortierung nach mehreren Kriterien Java Basics - Anfänger-Themen 4
S String nach Marke im String finden. Java Basics - Anfänger-Themen 7
J nach Muster in String suchen Java Basics - Anfänger-Themen 4
H Konvertieren von String nach int Java Basics - Anfänger-Themen 9
S String nach boolean parsen! Java Basics - Anfänger-Themen 5
M long nach String casten Java Basics - Anfänger-Themen 2
U String nach Integer Casten. Java Basics - Anfänger-Themen 4
N String nach Zeichen ersetzen Java Basics - Anfänger-Themen 6
R String nach Binär-Form Java Basics - Anfänger-Themen 3
K int nach String umwandeln mit führenden Nullen Java Basics - Anfänger-Themen 4
G String: nach 3. Zeichen char ersetzen Java Basics - Anfänger-Themen 3
D Von String nach boolean umwandeln Java Basics - Anfänger-Themen 8
H Object nach String umwandeln Java Basics - Anfänger-Themen 2
B Typumwandlung von int nach String Java Basics - Anfänger-Themen 8
R in einem string nach einer zahl suchen und auslesen...... Java Basics - Anfänger-Themen 3
J Eintrag Combobox über einen String auswählen Java Basics - Anfänger-Themen 3
K mit String.splitt(",") ganzen Satz erhalten? Java Basics - Anfänger-Themen 3
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
I Validation, ob String ein Wert aus einem Enum enthält Java Basics - Anfänger-Themen 3
D String und char in String speichern Java Basics - Anfänger-Themen 5
A ObservableList<String> Java Basics - Anfänger-Themen 6
I String ersetzen, der Inhalt enthält Java Basics - Anfänger-Themen 4
L ArrayList<String> --> double[] array Java Basics - Anfänger-Themen 18
J Variablenzugriff über string Java Basics - Anfänger-Themen 18
Flo :3 Variablen Type dismatch: cannot convert from string to int Java Basics - Anfänger-Themen 9
T Problem mit Lehrzeichen und String bei einfacher Chiffre Java Basics - Anfänger-Themen 8
P String zu int konvertieren nur mit charAt Java Basics - Anfänger-Themen 8
elsaaaaaa Wochentag als String ausgeben mit JDK Klassen Java Basics - Anfänger-Themen 6
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
T LocalDate to String Java Basics - Anfänger-Themen 1
J String Ausgabe Java Basics - Anfänger-Themen 2
R Mehrere Buchstaben aus einem String entfernen Java Basics - Anfänger-Themen 1
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
O String mit Character vergleichen Java Basics - Anfänger-Themen 3
I String.split regex Frage Java Basics - Anfänger-Themen 2
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
tobikoch String x= null Bedeutung Java Basics - Anfänger-Themen 9
GAZ String replace() Elemente tauschen Java Basics - Anfänger-Themen 13
R String in char-Array übertragen Java Basics - Anfänger-Themen 5
T Zeichen im String verschiebe Java Basics - Anfänger-Themen 9
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
P Datentypen Array und String Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben