using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Koogle.Application.Helpers
{
///
/// Hilfsklasse für String-Operationen.
///
public static class StringHelper
{
///
/// Entfernt alle Inhalte in runden Klammern inklusive der Klammern.
/// Beispiel: "Hallo (Welt)!" -> "Hallo !"
/// Entfernt auch mehrfach vorhandene Klammersegmente.
///
public static string RemoveParentheses(string input)
{
if (string.IsNullOrEmpty(input)) return input;
// Entfernt Segmente wie "(...)" ohne geschachtelte Klammern
var noParens = Regex.Replace(input, @"\s*\([^()]*\)", string.Empty);
// Aufräumen: doppelte Leerzeichen & Leerzeichen vor Satzzeichen
noParens = Regex.Replace(noParens, @"\s{2,}", " "); // Mehrfach-Whitespace -> ein Leerzeichen
noParens = Regex.Replace(noParens, @"\s+([,.;:!?])", "$1"); // Leerzeichen vor Satzzeichen entfernen
return noParens.Trim();
}
}
}