Кажется, что вы хотите заменить фигурные кавычки на их HTML-эквивалент.
На первый взгляд, ваш код абсолютно корректен. Проблема в том, что VB допускает фигурные кавычкивместо обычных кавычек в коде (потому что Unicode отличный, верно?).То есть все следующие коды эквивалентны:
Dim str = "hello"
Dim str = “hello”
Dim str = "hello“
Теперь, если вы хотите использовать кавычку внутри строки, VB не знает, предполагается ли кавычказаканчивать строку или нет.В C # это было бы исправлено с помощью , экранируя кавычку, то есть вместо """
, который вы написали бы "\""
.В VB то же самое делается путем удвоения кавычки, то есть """"
.
Назад к вашей фигурной цитате.То же, что и для прямых кавычек, применяется в соответствии со спецификацией языка VB (.61.6.4).Поэтому, чтобы написать фигурную кавычку в коде, попробуйте следующее:
StringVar = Replace(StringVar, "““", "“")
К сожалению, я не могу попробовать этот код сейчас, и вполне возможно, что IDE просто заменит его на прямые кавычки.Если это так, альтернативой является использование Chr
или ChrW
с кодом символа «левой двойной кавычки»:
StringVar = Replace(StringVar, ChrW(&H201C), "“")
Или для симметрии, записанной в десятичном виде (но япредпочитаю шестнадцатеричное значение для кодов символов):
StringVar = Replace(StringVar, ChrW(8220), "“")
Что-то еще: функция Replace
, вероятно, скоро станет устаревшей, а не будет работать везде (например, Windows Phone 7 ).Вместо этого используйте метод Replace
класса String
:
StringVar = StringVar.Replace(, ChrW(8220), "“")