Otros lugares, otras opciones :: Sin clasificar :: Expresión regular en C#
Estoy haciendo un programita para hacerme la existencia mas fácil a la hora de crearme XML.
Yo de un .TXT leo string y voy dándole formato para crear los tags del XML, mi problema surge con los paréntesis y no tener ni puta idea de como crear una expresión regular (desistí de aprender luego de gastar 2 horas de mi vida leyendo manuales en Internet).
Me gustaría saber cual seria la expresión regular para eliminar todos los paréntesis y los elementos que esta entre ellos.
Regex.Remplace("Formula(0,6) esto es genérico(bf5)",expresión,"");
Teniendo que quedar: "Formulario esto es genérico"
Y para los que entraron sin tener la mas puta idea como yo:
Yo haría algo así puede que tengas que ajustar un poco para que salgan o no los parentesis.
Regex.substring(Regex.Indexof("(")+1,Regex.LastIndexOf("(")-1)
Con eso te quedaria
"Formula(0,6) esto es genérico
Cadena=Regex.substring(0,Regex.Indexof("("))+Regex.substring(Regex.Indexof(")")+1,Regex.length)
Y ahi ya deberías eliminar el (0,6), yo suelo programar en java pero estas cosas deberían ser igual en C# si no recuerdo mal de cuando programe en C#.
Depende de que sintaxis use C# para las expresiones regulares, que los paréntesis no siempre se tratan igual, en POSIX ERE, la más común:
([^)]+)
Pero delante de primer y último paréntesis tiene que ir una barra invertida para escaparlos (el sanitizer de umbria me las elimina).
Significa, paréntesis al menos un carácter que no sea un cierre de paréntesis [^)]+, seguido de un cierre de paréntesis. Si quieres que dos paréntesis vacíos se eliminen usa * en vez de +.
La otra posibilidad de sintaxis es que no haya que escapar esos dos paréntesis.
Muchísimas gracias Javierrivera2 funciono =D
machera Regex no tiene substring en C#, pero entiendo lo que quieres decirme, gracias de todas formas ;)