ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
380
380
EMPFEHLEN
-
Hallo,
ich habe folgendes Problem. In einem String möchte ich mit einem regulären Ausdruck Teilstrings auswählen. Diese möchte ich dann verändern und wieder in den String einfügen. Wie kann man sowas mit den Regex-Klassen von Java machen? Es müsste sowas wie "Matcher.replaceMatchWith(String s)" geben. replaceAll nützt mir leider nichts, da der Teilstring nicht immer durch den selben String ersetzt werden soll.
-
Und nach welchem Schema ergibt sich der einzusetzende String?
-
Der einzusetzende String ist die stammformreduzierte Variante des gematchten Teilstrings.
-
Hey,
leider kann ich dir in Java momentag nicht weiterhelfen. Aber suchst du etwas ähnlich wie folgende Funktion in PHP?
http://de.php.net/manual/de/function...e-callback.php
Vielleicht kann man so die Suche ein wenig einschränken und kommt schneller zum Ergebnis
Dort wird mit dem gefunden Parameter aus der regex eine neue Funktion aufgerufen - dann kann man den Krams verarbeiten und wieder in den String einbinden.
Am besten mal warten bis jemand erfahreneres in Java was dazu sagt.
Ist das denn was was du suchst?
-
Ich bin zwar nicht der große PHP-Experte, aber so wie ich die Doku verstehe suche ich genau sowas.
-
Ich hab auch noch nicht ganz verstanden was du möchtest. Gibt doch mal ein Beispiel?
Vielleicht hilft dir das aber schon weiter?
Code java:
Ergebnis:
Hallo du Welt
Mehr kann man noch mit dem Pattern und Matcher machen.Geändert von zeja (24.04.08 um 18:24 Uhr) Grund: besseres Beispiel
-
Ich möchte beispielsweise den folgenden String umwandeln:
"Ich laufe nach Hause"
Als Regex verwende ich "\\b\\w*\\b".
Wird nun ein Teilstring gematcht (z.B. "laufe") möchte ich die Stammform ermitteln ("lauf") und diese wieder in den String "einsetzen". Das endgültige Ergebnis sollte sein:
"Ich lauf nach Haus"
Die String.replaceAll-Methode setzt ja immer eine festen String ein (in Deinem Beispiel "$1 du $2").
-
Ich hab's!
So funktioniert es:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13
Matcher m = Pattern.compile(pattern).matcher(input); StringBuffer sb = new StringBuffer(); boolean result = m.find(); while (result) { m.appendReplacement(sb, m.group(1)+x); // Testweise x hinzufügen System.out.println(m.group(1)); result = m.find(); } m.appendTail(sb); System.out.println(sb.toString());
Ähnliche Themen
-
Teil eines Strings ersetzen
Von tomate im Forum PHPAntworten: 2Letzter Beitrag: 18.05.09, 21:05 -
Bestimmte Teile eines Strings auslesen
Von ShOrtYk im Forum PHPAntworten: 6Letzter Beitrag: 01.09.07, 17:01 -
[VC++]Teile eines Strings in einen anderen String kopieren
Von ai-gamecock im Forum Borland CBuilder und VCLAntworten: 6Letzter Beitrag: 11.06.05, 10:30 -
Teile von Strings ersetzen
Von Martin Schroeder im Forum C/C++Antworten: 3Letzter Beitrag: 28.01.05, 10:56 -
Teile eines Strings
Von duermer im Forum JavaAntworten: 1Letzter Beitrag: 30.10.04, 18:04





Zitieren

Login





