You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中定义同时包含单引号和双引号的字符串

混合引号字符串变量定义方案

核心思路是使用各语言原生支持的原始字符串/here-string语法,无需修改自动生成的原始文本内容,即可直接存入变量:

PowerShell(适配你提到的@''@/@""@语法)

你之前尝试的语法不生效大概率是不符合here-string的格式要求:起始标记必须单独占一行,结束标记必须单独顶格占一行,正确写法如下:

$targetText = @'
"Sometext":"more text";'still text
'@

如果原始文本中存在'@组合,换用双引号包裹的here-string即可:

$targetText = @"
"Sometext":"more text";'still text
"@

Python

直接使用三引号包裹即可:

# 单三引号写法
target_text = '''
"Sometext":"more text";'still text
'''
# 双三引号写法
target_text = """
"Sometext":"more text";'still text
"""

如果不需要首尾自动生成的换行,调用.strip()方法处理即可。

C#

使用C# 11及以上版本支持的原始字符串语法,用三个及以上双引号包裹:

string targetText = """
"Sometext":"more text";'still text
""";

如果原始文本包含连续三个双引号,调整起止标记的双引号数量为4个、5个即可,无需转义内容。

JavaScript/TypeScript

使用反引号包裹的模板字符串语法:

const targetText = `"Sometext":"more text";'still text`

如果原始文本包含反引号,使用ES2025+支持的原始字符串标记即可兼容。

Bash/Shell

使用带单引号标记的EOF here-doc:

target_text=$(cat <<'EOF'
"Sometext":"more text";'still text
EOF
)

给EOF标记加单引号可禁用内部变量解析,完全保留原始文本内容。


内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:24:04