DerKoenig Geschrieben 3. Februar 2009 Teilen Geschrieben 3. Februar 2009 Moin Moin, möchte einen kompletten String escapen, also ich möchte die replaceALL funktion benutzen und zB kekse+frankund durch klausund (also nur das kekse+frank) ersetzen das problem ist, java sieht das + als steuerzeichen an... er können sich alelrdings auch mehrere steuerzeichen im string befinden gibt es möglichkeiten den ganzen string zu escapen ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wayne Geschrieben 3. Februar 2009 Teilen Geschrieben 3. Februar 2009 Nicht "Java selbst" sieht das + als Steuerzeichen an, sondern die Implentierung von regulären Ausdrücken in Java tut dies, welche eben in ReplaceAll, split und noch so einige andere Methoden benutzt werden. Schaue dazu am besten mal in die Java Doku: Pattern. Ich hab allerdings noch nicht ganz genau verstanden was du wirklich möchtest. Vielleicht kannst du ein etwas anschaulicheres/ausführlicheres Beispiel wählen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DerKoenig Geschrieben 4. Februar 2009 Autor Teilen Geschrieben 4. Februar 2009 Ok Also nochmal: ich benutze die replaceALL funktion einfacher String: ich habe einen String z.B. 7+7+8+9 nun möchte ich 7+7 ersetzen oder ausschneiden oder wie auch immer im beispiel nehmen wir mal replaceALL also möchte ich mit hilfe von replaceALL den String 7+7 ersetzen durch z.B.111 jetzt hätte ich nach dem replace, wenn es funktionieren würde 111+8+9 allerdings muss das + escaped werden das meinte ich mit kompletten string escapen, so, dass alle + schon escaped sind Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DerKoenig Geschrieben 4. Februar 2009 Autor Teilen Geschrieben 4. Februar 2009 so KWASI String sDaten="7+7+5+5"; String sZuErsetzen="7+7"; sDaten = sDaten.replaceALL(sZuErsetzen, "111"); so beide Variablen können Variieren, so dass ich nicht von vorneherein sZuErsetzen = "7\\+7" sagen könnte... hoffe nun ist es verständlicher Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wayne Geschrieben 4. Februar 2009 Teilen Geschrieben 4. Februar 2009 Da es sich hier, wie bereits gesagt, um reguläre Ausdrücke handelt und, wie du richtig erkannt hast, du entsprechende Sonderzeichen escapen musst, fällt mir persönlich jetzt kein besserer Weg ein als: private String replaceThis(String source, String expr, String rplmnt){ expr.replaceAll("\\+", "\\+"); source.replaceAll(expr, rplmnt); return source; } Ich habs jetzt nicht getestet aber ich denke du verstehst was ich meine. Zugegeben es ist etwas unglücklich aber so spontan wüsste ich keine bessere Lösung. Hast du mal geschaut was Google dazu sagt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 4. Februar 2009 Teilen Geschrieben 4. Februar 2009 expr.replaceAll("\\+", "\\\\+"); auch wenns doof aussieht, so müsste es sein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.