如何在引号中包含引号c#

Posted

技术标签:

【中文标题】如何在引号中包含引号c#【英文标题】:How to include quotes in quotes c# 【发布时间】:2016-03-05 07:34:16 【问题描述】:

我的代码在这里:

String text = "" + label1.Text + ""; //label1 is: C:\myfiles\download
textBox1.Text = text;

我会在构建后显示文本框:(有引号)

"C:\myfiles\download"

请帮助我。

非常感谢。 对不起,我的英语不好。

【问题讨论】:

String text = "\"" + label1.Text + "\"";? 【参考方案1】:

为了避免此类错误,请使用格式化

  textBox1.Text = String.Format("\"0\"", label1.Text);

并让编译器确保提供的字符串"\"0\"" 没有拼写错误。

【讨论】:

【参考方案2】:

这个?

String text = "\"" + label1.Text + "\""; //label1 is: C:\myfiles\download

这转义了引号的意思:\后面的字符不再有特殊含义,是一个普通字符。

或者更容易使用逐字字符串:

String text = @"""" + label1.Text + @""""; //label1 is: C:\myfiles\download

【讨论】:

【参考方案3】:

使用 C# 6,您可以使用以下语法非常巧妙地做到这一点:

textBox1.Text = $"\"label1.Text\"";

这是textBox1.Text = String.Format("\"0\"", label1.Text); 的简写,与String.Format 一样,编译器将为您检查字符串的有效性。

【讨论】:

【参考方案4】:

解决您的问题

您需要使用反斜杠。 " 的第二次出现将转义字符串声明。反斜杠将防止这种情况发生。

String text = "\"" + label1.Text + "\""; 
textBox1.Text = text;

现在,进行一点重构

你不需要声明一个变量,除非你再次使用这个值。此外,您可以使用string.Format()。有关此方法的更多信息,请查看参考部分中的链接。

textBox1.Text = string.Format("\"0\"", label1.Text);

一些参考资料

这个 *** 问题关注的是同一个问题: How to use a string with quotation marks inside it?

这里是 MSDN 参考:https://msdn.microsoft.com/en-us/library/aa983682(v=vs.71).aspx

MSDN reference string.Format

【讨论】:

【参考方案5】:

双引号用\"表示为escape sequence characterlike;

String text = "\"" + label1.Text + \""";

或者您可以使用verbatim string literal 将其翻倍;

String text = @"""" + label1.Text + @"""";

或者你可以使用string.Format作为;

String text = string.Format("\"0\"", label1.Text);

【讨论】:

以上是关于如何在引号中包含引号c#的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 xargs 复制名称中包含空格和引号的文件?

正则表达式(preg_split):如何根据分隔符进行拆分,不包括一对引号中包含的分隔符?

是否可以在引号中包含引号?

如何插入包含单引号的字符串

Swift - 有没有办法在连接字符串中包含单引号(')?

在 Bash 中包含多个带引号的 args 的变量