Soy bastante nuevo en C#, así que por eso lo estoy preguntando aquí.C# String.Sustituir comillas dobles y literales
Estoy consumiendo un servicio web que devuelve una larga cadena de valores XML. Debido a que esta es una cadena todos los atributos han escapado de las comillas dobles
string xmlSample = "<root><item att1=\"value\" att2=\"value2\" /></root>"
Aquí está mi problema. Quiero hacer un simple string.replace. Si estuviera trabajando en PHP, solo correría strip_slashes().
Sin embargo, estoy en C# y no puedo por la vida de mi entenderlo. No puedo escribir mi expresión para reemplazar las comillas ("), ya que termina la cadena Si escapar de ella entonces se ha resultados incorrectos Qué estoy haciendo mal
string search = "\\\"";
string replace = "\"";
Regex rgx = new Regex(search);
string strip = rgx.Replace(xmlSample, replace);
//Actual Result <root><item att1=value att2=value2 /></root>
//Desired Result <root><item att1="value" att2="value2" /></root>
MizardX:..? Para incluir una cita en una cadena de texto que necesita para duplicarlo.
eso es información importante, tratando de que el enfoque ahora ... No hubo suerte allí tampoco hay algo que hacer aquí con las comillas dobles. los conceptos que todas están sugiriendo que son sólidos, PERO el problema aquí es lidiar con las comillas dobles y parece que tendré que hacer un poco de addit investigación ional para resolver este problema. Si a alguien se le ocurre algo, publique una respuesta.
string newC = xmlSample.Replace("\\\"", "\"");
//Result <root><item att=\"value\" att2=\"value2\" /></root>
string newC = xmlSample.Replace("\"", "'");
//Result newC "<root><item att='value' att2='value2' /></root>"
Definitivamente no use Regexes aquí, solo use la función Reemplazar! – Domenic
Vea la última respuesta - Ha logrado lo que quiere, es la forma en que lo está mirando que lo está ensuciando. –
Estoy de acuerdo, yo Ni siquiera puedo ver el problema aquí. Las barras no son un personaje real s en la cuerda, ¡son marcadores de escape! –