Comment supprimer du texte entre parenthèses à l’aide d’une expression régulière

Je cherche une expression régulière qui effectuera ce qui suit:

INPUT: User Name ([email protected]) OUTPUT: User Name 

Quel serait le meilleur moyen d’y parvenir? Utiliser une expression régulière pour extraire le texte entre crochets et remplacer ceci et tout autre (caractères?)

Cela devrait faire le travail:

 var input = "User Name ([email protected])"; var output = Regex.Replace(input, @" ?\(.*?\)", ssortingng.Empty); 

Notez l’échappement des caractères ( et ) afin qu’ils ne soient pas reconnus en tant que marqueurs de groupe.

Voulez-vous dire que vous voulez la sortie du nom d’utilisateur, plutôt que l’adresse e-mail? Dans les deux cas, vous n’avez pas besoin de regex. Par exemple, en supposant que l’entrée est toujours bien formée et donc en omettant toute vérification d’erreur,

 ssortingng output = input.Subssortingng(0, input.IndexOf(" (")) 

vous obtiendrez le nom d’utilisateur. Et si vous vouliez l’adresse email, elle est également disponible sans recourir aux regex:

 int n; ssortingng output = input.Subssortingng(n = 1 + input.IndexOf('('), input.IndexOf(')') - n) 

Je propose simplement une autre façon de faire cela, bien que j’utiliserais moi-même regex car c’est maladroit:

  ssortingng output = input.Split('(')[0].TrimEnd();