Bestimmten String aus gegebenem String speichern

GRHM93

Mitglied
Hallo alle zusammen,

ich hab ein Problem und weiß, bis auf die grobe Struktur, überhaupt nicht, wie ichs angehen soll.

Ich brauch eine Methode, die einen gegebenen String auf die ersten Wörter überprüft und dann, wenn sie stimmen, das letzte wort als neuen String abspeichert.

Beispiel:
givenPattern = "Mein Name ist *"
inputString = "Mein Name ist Georg Huhn"
savedString = "Georg Huhn"

Ich weiß leider garnicht, wie ich das angehen soll, zuerst die ersten Wörter zu überprüfen und wenn sie dann richtig sind (das kann man ja ganz einfach über if regeln), den letzten Teil sozusagen zu "extrahieren" und als neuen String zu speichern".

Ich habs jetzt schon so weit:
Java:
public void getName(String inputString) {
       String given = "Mein Name ist ";
       if(inputString.contains(given)) {}
}
Jetzt wäre halt die Frage, wie ich den Namen dann als neuen String speichere.

Danke schonmal!

Gruß GRHM93
 
Zuletzt bearbeitet:
Für diesen Fall funktioniert diese Methode:

Java:
String givenPattern = "Mein Name ist";
String inputString = "Mein Name ist Georg Huhn";
String savedString = "Georg Huhn";
if (inputString.contains( givenPattern))
{
    //Wir "splitten" den inputString in ein Array auf
    //mit dem Trennzeichen des givenPattern
    //Heraus kommt ein Array mit zwei Feldern:
    //array[0] ist ein Leerstring
    //array[1] ist " Georg Huhn"
    String[] array = inputString.split( givenPattern);
    //mit "trim()" entfernt man das Leerzeichen vor "Georg"
    System.out.println( array[1].trim() );
}

Wenn du etwas genauer beschreibst, um was es geht, kann man die Extraktion des Namens natürlich verbessern.
 
String hat zwei Methoden, die dafür interssant sind:

startsWith(String s): boolean - Gibt true zurück, wenn der string mit dem übergebenem startet
substring(int index): String - Gibt den Teilstring ab index bis zum Ende zurück.

Daher:
Java:
String givenPattern = "Mein Name ist";
String inputString = "Mein Name ist Georg Huhn";
String savedString;

if(inputString.startsWith(givenPattern)){//Wenn mit pattern startet
  int patternLength = givenPattern.length();
  savedString = inputString.substring(patternLength); // String von patternLength bis Ende
}
 

Zurück
Oben