ich woltle mal nachfragen ob es einen möglichkeit gibt, einen char in einem String durch einen anderen String zu ersetzen?
Als Beispiel mal :
"Diese Klammer:} soll ersetzt werden."
String = "@}@}@}"
char='}'
Nach ersetzen soll es dann so aussehen:
"Diese Klammer}@}@} soll ersetzt werden."
Dabeio ist sowohl die position des chars als auch die länge des Strings beliebig. Die "}" soll in dem fall unbedingt als char behandelt werden. Die position dieses chars habe ich vorher schon mit charAt(i) == '}' bestimmen lassen. Jetzt weiß ich allerdings nicht wie ich den String dann da rein bekomme. Hab es schon mit der replace - Methode probiert, aber die lässt ja keine kombination von char und string zu.
Wäre für Hilfe ehr dankbar
Du kannst natürlich auch einen String mit der Methode toCharArray() in ein solches umwandeln.
Komfortabel ist das nicht so sehr, bei dem, was du vor hast.
Also in der Zeile können beliebig viele "}" und jede soll durch einen vorher erstellten string ersetzt werden, daher als char.
Gibt es ne möglichkeit, wenn ich das jetzt mit replaceFirst("\\}",...) machen würde, vorher zu unterscheiden dass vor der zu ersetzenden klammer kein @ stehen darf?
Alle mit dem gleichen Replacen? Dann verwende replaceAll(). Alle mit einem anderen String replacen? Verwende replaceFirst(), solange es Vorkommnisse gibt.
wie oben in dem beispiel angedeutet können in den einzusetzenden Strings auch "}" vorkommen. dann würde ich ja einfach wieder in dem schon eingefügten string ersetzen
ich weiß schon wie ihr das meint, aber bei mir ändert sich von klammer zu klammer der string der eingesetzt werden soll.
also um vielleicht mal einen besseren einblick zu geben. ich habe einen string bei welchem ich zuerst den String "{@" bis zu dem char "}" zähle. diese Zahl speicher ich in einer variablen. als nächsten schritt, wenn ich bei der "}" angekommen bin, schreibe ich in einen neuen string so viele "@}" wie ich die "{@" gezählt habe.
Wenn ich das jetzt mit replace First mache kommt bei mir so etwas im endefekt raus (nur mal als ein Beispiel von einigen in der Zeile): "@}@@}@@}@}" (spiegelt jetzt nur den teil, der ersetzt wurde wieder)
nein es sollen nicht die chars gezählt werden, sondern wie oft "{@" bis zu der "}" kommt. und dannach soll dann so oft wie der string "{@" kam der String "@}" für die klammer ersetzt werden. Mal ein beispiel:
"{@ Das {@ ist} ein {@ beispiel für {@ das java {@ forum}"
daraus soll dann:
"{@ Das {@ ist@}@} ein {@ beispiel für {@ das java {@ forum@}@}@}"
werden. Ich hoffe das war jetzt verständlicher. Das ist das gleiche problem wie ich oben beschrieben hab vom prinzip her, eben nur das ich die hintergrundinfos nicht genau beschrieben hatte