Reguläre Expression und Textersetzung

Tikonteroga

Erfahrenes Mitglied
Hallo,

ich habe folgendes Problem.

Ich muss in einer Text-Datei bei dem folgenden String die Anführungszeichen (") entfernen.

Code:
"Schedule_Table":"abc"

Es soll also so aussehen

Code:
Schedule_Table:abc

Dabei ist "Schedule_Table": in konstanter Text (Literal). In "abc" darf alles ausser (") und ein Leerzeichen stehen.

Jetzt habe ich das Problem, dass ich ja zum einen das Literal "Schedule_Table":" habe und dies mit der Regulären Expression "[^""]" kombinieren muss.

Ich hab das bis jetzt nicht hinbekommen, könnte mich jemand bei der Erstellung des regex String behilflich sein. Im MSDN konnte ich zwar eine Dokumentation jedoch unüblicherweise keine Beispiele finden.
 

CPoly

Mitglied Weizenbier
Der Reguläre Ausdruck könnte so aussehen

Code:
^"(Schedule_Table)":"([^"^ .]+)"$

Jetzt solltest du mit backreferences das ganze ersetzen können. Ich sitze hier leider gerade an der FH an einem Rechner und kann jetzt nicht gut rumtesten. Aber das könnte so aussehen (musst du probieren)

C#:
Regex.Replace(eingabe, @"^""(Schedule_Table)"":""([^""^ .]+)""$", "$0:$1")

Edit: So ganz funktioniert mein Ausdruck nicht. Aber die Idee mit den backreferences sollte zur Lösung ausreichen.

Edit2: Habe den Ausdruck oben korrigiert. Müsste jetzt funktionieren.
 
Zuletzt bearbeitet:

Nico Graichen

Erfahrenes Mitglied
Musst du RegEx nehmen?
Wenn du alle Anführungszeichen entfernen willst hättest du es so einfacher
C#:
string source = "dfdfd""sdfsds";
string dest = String.Replace(source, """, "");