在 Powershell 中的引号字符串中包含文字引号字符时,如何转义引号字符以表明它是文字而不是字符串分隔符?
答案1
要使字符串中出现双引号,请将整个字符串括在单引号中。例如:
'As they say, "live and learn."'
该命令的输出为:
As they say, "live and learn."
您还可以将单引号字符串括在双引号字符串中。例如:
"As they say, 'live and learn.'"
该命令的输出为:
As they say, 'live and learn.'
要强制 Windows PowerShell 按字面意思解释双引号,请使用反引号。这可防止 Windows PowerShell 将引号解释为字符串分隔符。例如:
"Use a quotation mark (`") to begin a string."
该命令的输出为:
Use a quotation mark (") to begin a string.
由于单引号字符串的内容是按字面意思解释的,因此不能使用反引号字符强制对单引号字符串进行文字字符解释。
最新版本的 PowerShell 不支持使用反引号转义单引号字符串中的其他引号。在早期版本的 PowerShell 中,可以使用反引号转义字符来转义单引号字符串中的双引号字符,如help about_quoting
这些版本的 PowerShell 中提供的文档中所述。
答案2
Powershell 中的转义字符是“`”(向后的撇号/重音符号)。
这可用于转义引号和特殊字符(例如,制表符为`t)。
答案3
为了补充这里已经提供的内容,您还应该知道,您可以使用引号本身来转义引号(单引号或双引号)。这意味着您可以这样做:
“这是一个“双引号字符串”的示例。”
和这个:
“这次是‘单引号’。”
这种语法提供的优点很简单:输入两次相同的引号比用反引号转义引号更容易。
答案4
单个“文本”,因此它被视为文字文本,然后使用“\”转义任何特殊字符
例如,此字符串:“正如他们所说,‘活到老,学到老。’”变成此字符串‘正如他们所说,\‘活到老,学到老。’’