Java String Ersetzung

forsti222

Mitglied
Und zwar beschäftige ich mich mit der Java Programmierung an der Uni und habe nun eine erste Aufgabe wo ich irgendwie nicht weiter komme!
Ich soll bei einen Satz immer ein st bzw St in ein scht bzw Scht umwandeln, aber nur am Wortanfang. Ich kenne zwar die Funktion ReplaceAll() aber weiß nicht wie ich das nur für den Wortanfang modellieren kann!

Bitte um Hilfe
danke!
 
Hallo!
Was ist denn ein Wortanfang? Ein Wort fängt immer hinter einem Leerzeichen an. Somit könntest du doch einfach " st" bzw. " St" ersetzen?!
Und dann gibt es da noch den Sonderfall erstes Wort im String, da musst du wohl extra prüfen...

Gruß,
RoCMe
 
Hi,

du kannst folgendermaßen einen String in die einzelnen Teile-in deinem Fall Wörter- aufteilen:

Java:
Scanner scanner = new Scanner( zeile ); 
    while ( scanner.hasNext() ) {
    String aktuellesWort = scanner.next();
   }

Jetzt müsstest du jedes Wort einzeln durchgehen und nachschauen ob es mit dem gewünschten Buchstaben beginnt. Dafür gibt es die Methode startsWith(String prefix) die du nutzen könntest.
 
Hi forsti,

da man bei der Funktion replaceAll auch reguläre Ausdrücke verwenden kann, solltest du dir mal folgenden Link anschauen und die Erklärungen oben lesen:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

Ein Wortanfang lässt sich mit regulären Ausdrücken nämlich durch ein \b realisieren. Da Java diesen aber in einem String nicht zulässt muss dieser mit einem weiteren \ versehen werden.

Java:
replaceAll("\\bst", "scht");
 

Neue Beiträge

Zurück