ich versuche aus dem String =Code.GetLabel(Parameters!Labels,"textbox3") den Text textbox3 mit Regex.Replace zu extrahieren. Kann mir jemand weiterhelfen?
Muss das mit Regex sein? Du kannst auch einfach ein String.Replace machen:
String s = "Code.GetLabel(Parameters!Labels,\"textbox3\")"; String x = s.Replace("Code.GetLabel(Parameters!Labels,\"", String.Empty).Replace("\")", String.Empty);
Danke für deine Antwort! Leider funktioniert das nicht wie gewünscht.. Ich weiss in diesem Fall immer, dass =Code.GetLabel(Parameter!Labels,"irgendwas") vorkommt.. ich möchte aber nur das Wort irgendetwas extrahieren..
Ich habe es mit =Code.GetLabel\(Parameters\!Labels,\".*? versucht, dann bekomme ich aber textbox3") zurück. Was muss ich noch machen, damit ") am Schluss auch noch verschwindet?
Mein Beispiel funktioniert für das, was du bislang in deiner Frage beschrieben hast. Beschreibe doch bitte in deiner Frage genau, was du alles ersetzt haben möchtest. Besser wäre es noch, du würdest ein Stück von deinem Code posten, um besser auf dein Anliegen eingehen zu können.
das wirst Du mit Regulären Ausdrücken auch kaum hinbekommen (es geht schon irgendwie, ist aber schlicht und wenig ergreifend das falsche Werkzeug für die Aufgabe -> parser).
Ich hab mehrfach \s* eingefügt - an den Stellen können potentiell Leerzeichen auftreten (falls nicht nötig, kannst Du die je entsprechend verwerfen/ersetzen) Die letzte Zeile ist nur zur Überprüfung und nicht wirklich nötig, würde aber beim Beispiel oben (was nicht geht) irge zurückgeben
Ersetzen kannst Du einfach mit dem neuen Text (es wird nur der Text zwischen den Anführungsstrichen ausgewählt und damit auch ersetzt). Innerhalb eines MatchEvaluators kannst Du die Ersetzung recht einfach vom zu ersetzenden Wert abhängig machen...
Du kannst auch einfach ein String.Replace machen:
String s = "Code.GetLabel(Parameters!Labels,\"textbox3\")";
String x = s.Replace("Code.GetLabel(Parameters!Labels,\"", String.Empty).Replace("\")", String.Empty);