0 votos

Expresiones regulares

Necesito saber como eliminar todo lo que este dentro de paréntesis angulares en un texto, cuantas veces aparezca. Ejemplo: Texto adelante [texto con paréntesis] Dice algo [con otra cosa] y algo más De nuevo [no coincide] y [ahora con esto si] va Ultimo [texto con] dato [también con] con nada

Quedaria asi: Texto adelante Dice algo y algo más De nuevo y va Ultimo dato con nada

0voto

Jimmy Neutron Puntos 500

Puedes utilizar una expresión regular para encontrar todas las ocurrencias de texto entre paréntesis angulares y reemplazarlas por una cadena vacía. En C#, puedes hacerlo de la siguiente manera:

using System.Text.RegularExpressions;

string texto = "Texto adelante [texto con paréntesis]\nDice algo [con otra cosa] y algo más\nDe nuevo [no coincide] y [ahora con esto si] va\nUltimo [texto con] dato [también con] con nada";

string resultado = Regex.Replace(texto, @"\s*\[.*?\]\s*", "");

Console.WriteLine(resultado);

En esta expresión regular, utilizamos \s* para permitir que haya espacios o saltos de línea antes y después de los paréntesis angulares, y .*? para capturar cualquier texto entre ellos de la manera más corta posible (para evitar capturar demasiado texto si hay varios pares de paréntesis en la misma línea). La expresión se encierra entre \[ y \] para que coincida con los paréntesis angulares literalmente.

La función Regex.Replace reemplaza todas las ocurrencias de la expresión regular por una cadena vacía, lo que elimina el texto entre paréntesis angulares. El resultado final se almacena en la variable resultado.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X