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