Como adicionar aspas duplas a uma string que está dentro de uma variável?

168

Eu tenho variável como:

string title = string.empty;

Minha necessidade é que, seja qual for a string passada, eu tenho que exibir o conteúdo dentro de uma div com aspas duplas. Então, eu escrevi algo como:

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

Mas como adicionar aspas duplas aqui? Para que seja exibido como:

"How to add double quotes"
ANP
fonte
Nope não funciona asp.net, c # vs2013, não importa como eu codifique se você olhar e a fonte da página & quot; e & # 39; são sempre exibidos. Eu estou usando o `Attributes.Add (... '
djack109
isso seria útil: stackoverflow.com/questions/46298985/…
Siavash 25/18

Respostas:

331

Você precisa escapá-los dobrando-os (literal literalmente):

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

Ou com uma literal de string normal, você os escapa com um \:

string str = "\"How to add doublequotes\"";
Oded
fonte
e como removê-lo ao salvar no banco de dados? Eu só quero remover aspas duplas adicional utilizado para escapar e não tanto
Anil Purswani
1
@AnilPurswani - hein? Você precisa ler o que significa escapar.
Oded
quando usado string str = @ "" "Como adicionar aspas duplas" ""; ele armazena "" Como adicionar aspas duplas "" no banco de dados ..... e, ao buscá-lo, recupera o mesmo .... agora tentando convertê-lo .... bem, recebi a resposta - str.Replace ("\\ \ "", "\" "); ...... de qualquer maneira obrigado pela sua resposta ....
Anil Purswani
Se você deseja que uma string contenha aspas, você as escapará. Isso não tem nada a ver com armazená-las no banco de dados - se você deseja extrair as aspas antes de armazenar no banco de dados, faça isso.
Oded
Sim, eu estava apenas tentando obter a solução de stackoverflow.com/questions/26118354/… e cheguei a esta pergunta, que parece semelhante quando os dados foram buscados no banco de dados .....
Anil Purswani
46

Então você está essencialmente perguntando como armazenar aspas duplas em uma variável de string? Duas soluções para isso:

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

Para talvez deixar um pouco mais claro o que acontece:

var string1 = @"before ""inside"" after";
var string2 = "before \"inside\" after";
Fredrik Mörk
fonte
14

Se eu entendi sua pergunta corretamente, talvez você possa tentar o seguinte:

string title = string.Format("<div>\"{0}\"</div>", "some text");
schwindelig
fonte
14

Se você tiver que fazer isso com frequência e quiser que o código seja mais limpo, poderá ter um método de extensão para isso.

Este é um código realmente óbvio, mas ainda acho que pode ser útil pegar e fazer você economizar tempo.

  /// <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 + "\"";
    }

Em seguida, você pode chamar foo.AddDoubleQuotes () ou "foo" .AddDoubleQuotes (), em todas as strings que desejar.

Espero que esta ajuda.

codea
fonte
7

Você também pode incluir aspas duplas em aspas simples.

string str = '"' + "How to add doublequotes" + '"';
Yannick Turbang
fonte
6

Outra nota:

    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");

O valor real de hh como passado será "H: \ MOVIES \ Battel SHIP \ done-warship-cd1.avi".

Quando precisar de literais duplos duplos, use: @ "H: \ MOVIES \ Battel SHIP \ done-warship-cd1.avi"; Em vez de: @ "H: \ MOVIESBattel SHIP \ done-warship-cd1.avi"; Como os primeiros literais são para o nome do caminho e os segundos literais são para aspas duplas

DR.
fonte
2

Você poderia usar em &quot;vez de ". Será exibido corretamente pelo navegador.

Jens
fonte
Nope não funciona asp.net, c # vs2013, não importa como eu codifique se você olhar e a fonte da página & quot; e & # 39; são sempre exibidos. Estou usando o `Attributes.Add (... '
djack109
2

Usando interpolação de string com exemplo de trabalho :

var title = "Title between quotes";
var string1 = $@"<div>""{title}""</div>";  //Note the order of the $@
Console.WriteLine (string1);

Resultado

<div>"Title between quotes"</div>
WorkSmarter
fonte
2

Você pode usar $.

Cordas interpoladas : usadas para construir cordas. Uma sequência interpolada se parece com uma sequência de modelo que contém expressões interpoladas. Uma sequência interpolada retorna uma sequência que substitui as expressões interpoladas que ela contém por suas representações de sequência. Esse recurso está disponível no C # 6 e nas versões posteriores.

string commentor = $"<span class=\"fa fa-plus\" aria-hidden=\"true\"> {variable}</span>";
Disse Roohullah Allem
fonte
1

Use um

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

ou escapar da citação dupla:

\ "
<div> \ "" + título + @ "\" </div>
Graham
fonte
1

Em C # você pode usar:

 string1 = @"Your ""Text"" Here";
 string2 = "Your \"Text\" Here";
Shivam Mishra
fonte
1
string doubleQuotedPath = string.Format(@"""{0}""",path);
Sunil Kumar
fonte
0

Coloque uma barra invertida (\) antes das aspas duplas. Isso deve funcionar.

Belinda
fonte
0

em C # se usarmos "\" significa que indicará o seguinte símbolo não é o símbolo c # inbuild que será usado pelo desenvolvedor. portanto, em string, precisamos de aspas duplas, significa que podemos colocar o símbolo "\" antes das aspas duplas.string s = "\"Hi\""

Malathi Mals
fonte
0

"<i class=\"fa fa-check-circle\"></i>"é usado com o operador ternário com Eval()ligação de dados:

Text = '<%# Eval("bqtStatus").ToString()=="Verified" ? 
       Convert.ToString("<i class=\"fa fa-check-circle\"></i>") : 
       Convert.ToString("<i class=\"fa fa-info-circle\"></i>"
5377037
fonte
0

Uma alternativa indireta, mas simples de entender, para adicionar aspas no início e no final da string -

char quote = '"';

string modifiedString = quote + "Original String" + quote;
Abhishek Poojary
fonte
0

Se você deseja adicionar aspas duplas em HTML

echo "<p>Congratulations,  &#8220; ". $variable ." &#8221;!</p>";
output -> Congratulations, "Mr Jonh "!
Yogesh Sarvaiya
fonte
0

Se você deseja adicionar aspas duplas a uma sequência que contenha valores dinâmicos também. Para o mesmo no lugar de CodeId [i] e CodeName [i], você pode colocar seus valores dinâmicos.

data = "Test ID=" + "\"" + CodeId[i] + "\"" + " Name=" + "\"" + CodeName[i] + "\"" + " Type=\"Test\";
Ramya Prakash Rout
fonte