批量引用相等性测试

发布于 2024-11-28 02:34:30 字数 212 浏览 1 评论 0原文

如何测试我的字符串是否是引号 (")。 默认转义字符是“^”,不是吗?
所以我尝试了以下方法,但尚未成功:

if  "!first_char!" == "^"" (...)

我也尝试了双引号:

if  "!first_char!" == """" (...)

谢谢!

How can I test my string as if it is a quote (") or not.
The default escape character is '^', isn't it?
So I tried the following but with no success yet:

if  "!first_char!" == "^"" (...)

I tried double quote, too:

if  "!first_char!" == """" (...)

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无言温柔 2024-12-05 02:34:30

问题不在于比较的右侧部分,而在于左侧部分。由于first_char包含引号,因此比较的左操作数没有意义。所以你必须用 ^ 转义保存 " 的变量。

尝试这样的事情......

if .^!first_char!.==.^". (@echo ^!first_char! YES) else (@echo ^!first_char! NO)

The problem is not with the right part of the comparison, but with the left part. As first_char contains a quote, then the left operand of the comparison does not make sense. So you have to escape with ^ the variable that holds the ".

try something like this...

if .^!first_char!.==.^". (@echo ^!first_char! YES) else (@echo ^!first_char! NO)
拿命拼未来 2024-12-05 02:34:30

问题仅出在比较的右侧部分。
左侧的延迟扩张始终是安全的。
因此,您也可以简单地在右侧使用延迟扩展,例如

set singleQuote="
if  "!first_char!" == "!singleQuote!" (...)

或者您可以转义所有引号。

if  "!first_char!" == ^"^"^" (...)

The problem is only on the right part of the comparision.
The delayed expansion on the left side is always safe.
So you could simply use also a delayed expansion on the right side, like

set singleQuote="
if  "!first_char!" == "!singleQuote!" (...)

Or alternativly you could escape all quotes.

if  "!first_char!" == ^"^"^" (...)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文