Как добавить двойные кавычки в строку, которая находится внутри переменной?

168

У меня есть переменная, как:

string title = string.empty;

Мне нужно, чтобы любая строка, переданная ему, должна отображать содержимое внутри div в двойных кавычках. Итак, я написал что-то вроде:

...
...
<div>"+ title +@"</div>
...
...

Но как добавить здесь двойные кавычки? Так что он будет отображаться так:

"How to add double quotes"
ANP
источник
Нету не работает asp.net, c # vs2013, независимо от того, как я кодирую, если вы посмотрите и исходный код страницы & quot; и & # 39; всегда отображаются. Я использую `Attributes.Add (... '
djack109
это было бы полезно: stackoverflow.com/questions/46298985/…
Сиаваш

Ответы:

331

Вы должны избежать их, удваивая их (дословно строковый литерал):

string str = @"""How to add doublequotes""";

Или с обычным строковым литералом вы избегаете их с \:

string str = "\"How to add doublequotes\"";
Одед
источник
и как убрать его при сохранении в базе? Я просто хочу удалить дополнительную двойную кавычку, используемую для побега, а не то и другое
Анил Пурсвани
1
@AnilPurswani - а? Вы должны прочитать о том, что означает побег.
Отредактировано
когда используется string str = @ "" "Как добавить двойные кавычки" ""; он хранит "" Как добавить двойные кавычки "" в базе данных ..... и при получении он получает то же самое .... теперь пытается преобразовать его .... ну, я получил ответ - str.Replace ("\\ \ "", "\" "); ...... в любом случае спасибо за ваш ответ ....
Анил Пурсвани
Если вы хотите, чтобы строка содержала кавычки, вы избегаете их. Это не имеет ничего общего с хранением их в базе данных - если вы хотите удалить кавычки перед сохранением в БД, сделайте это.
Отредактировано
да, я просто пытался найти решение stackoverflow.com/questions/26118354/… и добрался до этого вопроса, который кажется похожим, когда данные были извлечены из базы данных .....
Анил Пурсвани
46

Итак, вы по существу спрашиваете, как хранить двойные кавычки в строковой переменной? Два решения для этого:

var string1 = @"""inside quotes""";
var string2 = "\"inside quotes\"";

Чтобы, возможно, было более понятно, что происходит:

var string1 = @"before ""inside"" after";
var string2 = "before \"inside\" after";
Фредрик Мёрк
источник
14

Если я правильно понимаю ваш вопрос, возможно, вы можете попробовать это:

string title = string.Format("<div>\"{0}\"</div>", "some text");
schwindelig
источник
14

Если вам приходится делать это часто, и вы хотели бы, чтобы это было чище в коде, вам может понадобиться метод расширения для этого.

Это действительно очевидный код, но, тем не менее, я думаю, что он может быть полезным, чтобы захватить и сэкономить время.

  /// <summary>
    /// Put a string between double quotes.
    /// </summary>
    /// <param name="value">Value to be put between double quotes ex: foo</param>
    /// <returns>double quoted string ex: "foo"</returns>
    public static string AddDoubleQuotes(this string value)
    {
        return "\"" + value + "\"";
    }

Затем вы можете вызывать foo.AddDoubleQuotes () или "foo" .AddDoubleQuotes () для каждой понравившейся вам строки.

Надеюсь, это поможет.

Codea
источник
7

Вы также можете включить двойные кавычки в одинарные кавычки.

string str = '"' + "How to add doublequotes" + '"';
Янник Турбанг
источник
6

Другое примечание:

    string path = @"H:\\MOVIES\\Battel SHIP\\done-battleship-cd1.avi"; 
    string hh = string.Format("\"{0}\"", path);
    Process.Start(@"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe ", hh + " ,--play");

Реальное значение hh при передаче будет "H: \ MOVIES \ Battel SHIP \ done-battleship-cd1.avi".

При необходимости использовать двойные двойные литералы используйте: @ "H: \ MOVIES \ Battel SHIP \ done-battleship-cd1.avi"; Вместо: @ "H: \ MOVIESBattel SHIP \ done-battleship-cd1.avi"; Поскольку первые литералы для пути, а затем вторые литералы для двойных кавычек

DR.
источник
2

Вы могли бы использовать &quot;вместо ". Он будет правильно отображаться браузером.

Jens
источник
Нету не работает asp.net, c # vs2013, независимо от того, как я кодирую, если вы посмотрите и исходный код страницы & quot; и & # 39; всегда отображаются. Я использую `Attributes.Add (... '
djack109
2

Вы можете использовать $.

Интерполированные строки : Используется для построения строк. Интерполированная строка выглядит как строка шаблона, содержащая интерполированные выражения. Интерполированная строка возвращает строку, которая заменяет содержащиеся в ней интерполированные выражения их строковыми представлениями. Эта функция доступна в C # 6 и более поздних версиях.

string commentor = $"<span class=\"fa fa-plus\" aria-hidden=\"true\"> {variable}</span>";
Саид Роохулла Аллем
источник
1

Используйте либо

& Dquo;
<div> & dquo; "+ title + @" & dquo; </ div>

или избегайте двойных кавычек:

\»
<div> \ "" + title + @ "\" </ div>
Грэхем
источник
1

В C # вы можете использовать:

 string1 = @"Your ""Text"" Here";
 string2 = "Your \"Text\" Here";
Шивам Мишра
источник
1
string doubleQuotedPath = string.Format(@"""{0}""",path);
Сунил Кумар
источник
0

Поставьте обратную косую черту (\) перед двойными кавычками. Это должно работать.

Белинда
источник
0

в C #, если мы используем «\», это означает, что следующий символ не является символом C # inbuild, который будет использовать разработчик. поэтому в строке нам нужны двойные кавычки, что означает, что мы можем поставить символ "\" перед двойными кавычками.string s = "\"Hi\""

Малати Малс
источник
0

"<i class=\"fa fa-check-circle\"></i>"используется с троичным оператором с Eval()привязкой данных:

Text = '<%# Eval("bqtStatus").ToString()=="Verified" ? 
       Convert.ToString("<i class=\"fa fa-check-circle\"></i>") : 
       Convert.ToString("<i class=\"fa fa-info-circle\"></i>"
5377037
источник
0

Косвенная, но простая для понимания альтернатива для добавления кавычек в начале и конце строки -

char quote = '"';

string modifiedString = quote + "Original String" + quote;
Абхишек Пуджары
источник
0

Если вы хотите добавить двойные кавычки в HTML

echo "<p>Congratulations,  &#8220; ". $variable ." &#8221;!</p>";
output -> Congratulations, "Mr Jonh "!
Йогеш Сарваия
источник
0

Если вы хотите добавить двойные кавычки в строку, которая также содержит динамические значения. Для того же самого вместо CodeId [i] и CodeName [i] вы можете поместить свои динамические значения.

data = "Test ID=" + "\"" + CodeId[i] + "\"" + " Name=" + "\"" + CodeName[i] + "\"" + " Type=\"Test\";
Рамья Пракаш Раут
источник