Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 ?

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.

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

so KWASI :D

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

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?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.