using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; public class Test { public static void Main() { var text = "(String1) | (string2 string3)"; var result = Regex.Match(text, @"\|\s*\(([^()]*)\)")?.Groups[1].Value; Console.WriteLine(result); var result2 = text.Split(new[] {" | "}, StringSplitOptions.None)[1].Trim(new[] {'(', ')'}); Console.WriteLine(result2); } }