Text innerhalb Klammern einfügen

CopWorker

Erfahrenes Mitglied
Hallo zusammen,
ist es möglich mit RegEx einen Text innerhalb eines Klammernpaares zu setzen.
Ich habe eine Text:
string strText = "Das steht ein Klammernpaar ()";
In dem Klammernpaar kann auch ein Text stehen: strText = Das ist ein Klammernpaar (leer);
In beiden Fällen sollte der Text entweder eingefügt oder der Text getauscht werden.
Ergebnis: "Das ist ein Klammernpaar (gefüllt)"

Mit C# string.repace(); geht´s auch, ergibt halt viele Code.
Ich denke, dass es mit RegEx etwas eleganter geht.

Vielen Dank.
CopWorker
 

Yaslaw

alter Rempler
Moderator
Code:
Pattern: \([^\)]*\)
Replace: (gefüllt)
Hier gehts zum Test: regex101: build, test, and debug regex. Dort findest du auch die Erklärung der einzelnen Teile.

Der folgende Code habe ich mit der oben verlinkten Onlinetool generiert
C#:
using System;
using System.Text.RegularExpressions;

public class Example
{
    public static void Main()
    {
        string pattern = @"\([^\)]*\)";
        string substitution = @"(gefüllt)";
        string input = @"Das ist ein Klammernpaar (leer)
Das ist ein Klammernpaar ()";
        RegexOptions options = RegexOptions.Multiline;
        
        Regex regex = new Regex(pattern, options);
        string result = regex.Replace(input, substitution);
    }
}