parece como si desea reemplazar las comillas con su equivalente en código HTML.
A primera vista, su código es absolutamente correcto. El problema es que VB permite comillas en lugar de comillas regulares en el código (porque Unicode es genial, ¿no?). Es decir, los códigos siguientes son equivalentes:
Dim str = "hello"
Dim str = “hello”
Dim str = "hello“
Ahora, si desea utilizar una comilla dentro de una cadena, VB no sabe si se supone que el signo de comillas para poner fin a la cadena o no . En C#, esto se solucionaría con escapando la comilla, es decir, en lugar de """
escribiría "\""
. En VB, lo mismo se hace por doblando la comilla, es decir, """"
.
De nuevo a su cita rizada. Lo mismo que para las comillas simples se aplica según la especificación del lenguaje VB (¶1.6.4). Así que para escribir una cotización rizado en el código, intente lo siguiente:
StringVar = Replace(StringVar, "““", "“")
Por desgracia, no puedo probar este código ahora y es muy posible que el IDE se limite a sustituir este por comillas rectas. Si ese es el caso, una alternativa es utilizar Chr
o ChrW
con el código de caracteres del “signo de comillas dobles izquierda”:
StringVar = Replace(StringVar, ChrW(&H201C), "“")
O, por simetría, escrito en notación decimal (pero prefiero hexadecimal para los códigos de caracteres) :
StringVar = Replace(StringVar, ChrW(8220), "“")
otra cosa: la función Replace
probablemente pronto será obsoleto y doesn’t work everywhere (por ejemplo Windows Phone 7).En su lugar, utilice el método Replace
de la clase String
:
StringVar = StringVar.Replace(, ChrW(8220), "“")
Siento oír eso, gracias por compartir. :( – Mehrdad
Por cierto, este es un problema extremadamente difícil. +1 para hacer la pregunta. –
+1 Tengo el mismo problema. –