Java: Erstes Wort aus String in anderem String speichern?


14.07.2020, 16:56

Und nochetwas: Das Trennzeichen sollte ich auch noch ändern können.


14.07.2020, 17:44

Wichtig::: Das Trennzeichen kann mehrmals im String vorkommen!


15.07.2020, 09:45

Hallo?

3 Antworten

Für einen Ansi-String in C++ gibt es bereits genug Antworten.

Ein Klassischer String in C geht nicht so einfach. Hier ist der einfachste Weg, eine 1:1 Kopie zu machen (stringcopy) und dann einen char *pointer auf die Kopie zu legen. dann auf das Leerzeichen "vorspulen":

while(*++pointer && (*pointer!=' '));

Das *++pointer besagt: "Erst Adresse inkrementieren, dann auswerten". Anders herum wäre *pointer++, also "Erst Auswerten, dann Inkrementieren".

Die While Schleife inkrementiert so lange wie das Stringende ("echte Null") nicht erreicht ist und kein Leerzeichen unter dem pointer liegt.

Im nächsten Schritt dann einfach

*pointer = 0;

Damit wird dann das Stringende oder das Leerzeichen mit einer "echten Null", also einem Stringende überschrieben.

Verarbeitet man also diese Kopie, endet der String dann genau da, wo vorher das erste Leerzeichen war. Oder wenn es keins gab an der alten Stelle.

Woher ich das weiß:Berufserfahrung

String a = "Dieser Satz ist der Wert eines Strings!";

String b = a.split(" ")[0];

System.out.println(b);


name123454321 
Fragesteller
 14.07.2020, 16:58

Ok, danke! Ich probiere es jezt aus.

0

Um keine leeren Elemente zu erhalten:

String[] words = "  Dieser Satz ist der Wert eines Strings!".split(" ", -1);
Woher ich das weiß:Berufserfahrung – Studium der Informatik + Softwareentwickler seit 25 Jahren.

name123454321 
Fragesteller
 15.07.2020, 10:03

Kann man so auch das erste Wort aus einem String filtern, wenn das Trennzeichen mehrmals im String vorhanden ist?

0