String.replaceall - mehrere Zeichen durch eines ersetzen

Status
Nicht offen für weitere Antworten.

guni

Bekanntes Mitglied
Hallo,

ich habe einen String der so irgendwie aussieht (es handelt sich dabei um mehrere tns-einträge einer oracle datenbank):

a =
(b=
(c=(d=e)(f=g))
(h=i)
)

j =
(b=
(c=(d=k)(f=l))
(h=m)
(n=o)
)

irgendwann möchte ich dahin kommen, dass das Ganze so aussieht:
a.b.c.d = e
a.b.c.f = g
a.b.h = i
j.b.c.d = k
j.b.c.f = l
j.b.h = m
j.b.n = o

ich habe noch nicht wirklich eine idee, wie ich dahin kommen könnte; hab derzeit mal folgende Schleife:

while ((line = fh.readLine()) != null) {

// get key-value-pairs
line = line.replaceAll("\\s", "");
line = line.replaceAll("\\(", "\n");
line = line.replaceAll("\\)+", "\n");

// skip lines with no '='
if (!line.contains("=")) continue;

System.out.println(line);

}

damit krieg ich einen output, der mal ca. so aussieht:
a=

b=

c=
d=e

f=g

usw.

... ob mir das was bringt, wird sich noch herausstellen; zur Zeit stört mich aber, dass in der Zeile

line = line.replaceAll("\\)+", "\n");

JEDE Klammer durch ein \n ersetzt wird; dabei will ich, dass auch das auftreten MEHRERER Klammern hintereinander nur durch ein einzelnes \n ersetzt wird!

Versteht irgendwer, wieso das so ist / wie man das lösen kann?
danke!

guni

PS.:
kann ich mir im neuen Look des Forums noch irgendwo meine beobachteten Themen anzeigen lassen?!
und wo krieg ich meine code-tags wieder her?! :-(
 
S

SlaterB

Gast
+ steht für ein oder mehr

schreibe
line = line.replaceAll("\\)\\)+", "\n");

oder
line = line.replaceAll("\\){2,}", "\n");
oder ähnlich, siehe Anleitung
 

guni

Bekanntes Mitglied
hallo SlaterB,

eigentlich war "ein oder mehr" auch genau meine Absicht!
wenn ich sowas
line = line.replaceAll("\\)\\)+", "\n");
schreibe, dann "zündet" der replace ja erst bei 2 Klammern ;-(

Ziel von meinem Replace soll es aber sein, eine beliebig lange Aneinanderreihung von Klammern (mindestens EINE) durch EIN \n zu ersetzen!
 
S

SlaterB

Gast
na gut, ich habs glaub ich begriffen, du darfst nicht ( und ) einzeln betrachten:

Code:
public class Test
{
    public static void main(String[] args)
        throws Exception
    {
        String line = ")) (x)(  y)))z";
        line = line.replaceAll("[\\s()]+", "O");
        System.out.println(line);
    }

}
 

guni

Bekanntes Mitglied
hey ... danke.
ganz blick ich zwar noch nicht hinter diesen regex-konstrukt aber ich übernehm in mal dankend, bau ihn ein, ärger mich mit dem restlichen problem und schau bei gelegenheit nach, wie dein regex-Ausdruck funktioniert ... eckige Klammern sind doch meines Wissens nach für Gruppen zuständig; aber dass sie ALLES ersetzen ist mir neu ;-)
 
S

SlaterB

Gast
[abc] ist eine Gruppe, hier eine Gruppe von Klammern und testweise auch Leerzeichen, welche du wohl nicht brauchst,
das + sorgt wie immer für die Mehrzahl
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Tommy Nightmare String.replaceAll(...) fehlerhaft? Allgemeine Java-Themen 3
N String.replaceAll Problem Allgemeine Java-Themen 5
K replaceAll bei sehr großen String Allgemeine Java-Themen 3
Airwolf89 ReplaceAll, kann xml- Tag nicht aus String ausschneiden Allgemeine Java-Themen 3
S Geschwindigkeitsproblem bei String.replaceAll Allgemeine Java-Themen 2
T String.replaceAll - warum PatternSyntaxException? Allgemeine Java-Themen 4
@ String replaceAll(" ", ""); Allgemeine Java-Themen 2
P ReplaceAll ersetzt nicht bzw. möchte verketteten string Allgemeine Java-Themen 4
R String.replaceAll $lt; ersetzen Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
M String Allgemeine Java-Themen 10
M Suche nach String mit unbekannten characters Allgemeine Java-Themen 53
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
O String in Long Hexerdezimal umwandel Allgemeine Java-Themen 14
N String vergleichen. Allgemeine Java-Themen 27
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
SaschaMeyer Arbeitet String.split falsch? Allgemeine Java-Themen 4
M Switches ohne String Allgemeine Java-Themen 18
AmsananKING String Iteration Allgemeine Java-Themen 5
S Shuffle String aus if-clause Allgemeine Java-Themen 11
Besset Variablen Ist String = "" + int inordnung? Allgemeine Java-Themen 6
M Map <Long, String> zu Map<String, Long> Allgemeine Java-Themen 9
S String Encoding Verständnisproblem Allgemeine Java-Themen 22
N Prüfen, ob ein String 2x das selbe Zeichen hat Allgemeine Java-Themen 10
SaftigMelo Bug Fixen von String-spliten Allgemeine Java-Themen 8
Monokuma String List nach Zahlen und Worten sortieren Allgemeine Java-Themen 9
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
YohnsonM String - Aufteilung und Nutzung einzelner Chars Allgemeine Java-Themen 7
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
S String umbenennen: wie? Allgemeine Java-Themen 4
x46 String Format Fehler Allgemeine Java-Themen 2
S ISO 8601 -> getter / setter String Allgemeine Java-Themen 3
L String zu repräsentativen Wert Allgemeine Java-Themen 0
H Array mit dem Datentype String[] initializieren Allgemeine Java-Themen 7
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
L regex ganzer string? Allgemeine Java-Themen 2
L Ist ein string ein erlaubter variabel name? Allgemeine Java-Themen 2
Z JNA Cpp-DLL String Verwendung Allgemeine Java-Themen 2
A String auf Zahlen überprüfen Allgemeine Java-Themen 5
N String Array Eingabe Allgemeine Java-Themen 6
MiMa Datum von String zu LocalDateTime Allgemeine Java-Themen 8
W String -> byte[] -> String - Sieht jemand was ich nicht sehe? Allgemeine Java-Themen 10
R char aus String entfernen Allgemeine Java-Themen 10
LimDul Mittels Streams aus Strings A B C den String A, B und C machen Allgemeine Java-Themen 12
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
S Ini Text aus String parsen Allgemeine Java-Themen 1
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10
Drachenbauer Wie kann ich das Wort "concrete" in einem String durch ein anderes Wort ersetzen lassen? Allgemeine Java-Themen 5
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
R Variablen String mit split-Funktion aufteilen Allgemeine Java-Themen 7
F Datei in String-Array einlesen Allgemeine Java-Themen 8
S Marker aus String ermitteln Allgemeine Java-Themen 5
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
M Bei String.format ein Komma statt einem Punkt ausgeben lassen Allgemeine Java-Themen 1
S MSSQL Exception & Connection String Allgemeine Java-Themen 19
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
J String - Vergleiche Allgemeine Java-Themen 7
K Aus String zwei Jahreszahlen auslesen Allgemeine Java-Themen 18
Drachenbauer Wie kann eine vorgegebene Farbe über einen String erkannt werden? Allgemeine Java-Themen 11
G CSV in String Allgemeine Java-Themen 7
P String-Verschlüsselung - Frage zur Sicherheit Allgemeine Java-Themen 21
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
D Erste Schritte Fehler mit negativen und 0 Zahlen im String Allgemeine Java-Themen 6
Xge Replace x Zeichen aus String Allgemeine Java-Themen 2
coolian warum bekomme ich ein string index out of bounds exception Allgemeine Java-Themen 17
F In String 2 Buchstaben vertauschen Allgemeine Java-Themen 2
J Class Decompile als String (Procyon) Allgemeine Java-Themen 2
I Datentypen String in class sicher verwahren Allgemeine Java-Themen 17
J Falls der String ein "X" beinhaltet Allgemeine Java-Themen 2
T String mehrere Worte Allgemeine Java-Themen 2
D String Groß-/Kleinschreibung Allgemeine Java-Themen 2
D String und Klassenvariable Allgemeine Java-Themen 6
Aruetiise Funktion(y = mx+n) in String speichern und berechnen Allgemeine Java-Themen 9
C String in Objektnamen umwandeln Allgemeine Java-Themen 3
E Variablen Aus .txt ausgelesener string mit if() überprüfen? Allgemeine Java-Themen 2
L String-Schema-Aufspaltung Allgemeine Java-Themen 2
E String in Zahl umwandeln, ohne Befehl Integer.parseInt Allgemeine Java-Themen 3
L String splitten und multiplizeren Allgemeine Java-Themen 10
G String mit umbekannter länge splitten. Allgemeine Java-Themen 2
S Einzigartigen String in Datenbank finden und löschen Allgemeine Java-Themen 23
A Byte zu String Allgemeine Java-Themen 4
B Von String zu <Objekt> ||Speichern/Laden Allgemeine Java-Themen 17
T Komplexitätsoptimierung String vergleich Allgemeine Java-Themen 4
heinz ketchup String im JLabel ausgeben und erneuern Allgemeine Java-Themen 6
S Input/Output Beste Möglichkeit einen String in einen Datei zu Schreiben Allgemeine Java-Themen 2
V Eingegeben String Splitten und in Integer umwandeln Allgemeine Java-Themen 2
L Decrypt String Allgemeine Java-Themen 1
X Variablen AtmicLong größer als String ? Allgemeine Java-Themen 4
S String literal und Referenzvariablen Allgemeine Java-Themen 6
J Datentypen Absätze mit String im Word Dokument Allgemeine Java-Themen 3
D "Paste" String doppelt Allgemeine Java-Themen 14
E String Frage Allgemeine Java-Themen 9
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
D JSON to String Allgemeine Java-Themen 31

Ähnliche Java Themen

Neue Themen


Oben