Básicamente, mi objetivo es eliminar todo lo que está dentro() salvo las cadenas que están dentro de "".Eliminar todo entre dos caracteres, siempre que no estén dentro Algunos otros caracteres
estaba siguiendo el código aquí: Remove text in-between delimiters in a string (using a regex?)
Y eso funciona muy bien; pero tengo el requisito adicional de no eliminar() s si están en "". Es algo que se puede hacer con una expresión regular. Siento que estoy peligrosamente cerca de necesitar otro enfoque, como un verdadero analizador sintáctico.
Este es el lo que he estado usando ....
string RemoveBetween(string s, char begin, char end)
{
Regex regex = new Regex(string.Format("\\{0}.*?\\{1}", begin, end));
return regex.Replace(s, string.Empty);
}
¿Hay también un requisito que el usuario puede insertar una comilla doble dentro de las comillas dobles utilizando un carácter de escape? ("El perro dijo \" Woof \ "") –
@Andrew - nope. –
Probablemente debería haber .... –