gpt4 book ai didi

regex - 区分引号 (") from backslash and quotation mark (\")

转载 作者:行者123 更新时间:2023-12-04 18:02:11 24 4
gpt4 key购买 nike

这是我试图解决的问题的简化版本。所以,尽量不要破解答案:)

在 R 中,默认情况下

'"' == '\"'

因此,当我使用

URLencode('\"')
URLencode('"')

我得到了相同的结果:%22

然而,我真正想要的是

%5C%22%22 分别对应以上两条命令。

目标是将'parse "I am *\"good\""as adj'这样的字符串编码成URL字符串

parse%20%22I%20am%20*%20%5C%22good%5C%22%22%20as%20adj

有什么想法吗?

==========更新=====

鉴于上述问题的困惑。我想进一步澄清:我了解 R'\"' 视为 '"'。但我希望 R 自动,而不是我手动,转换 '\"'用户字符串输入'\\\"',同时将 '"' 的输入字符串视为 '"''\"',它们是等价的。

最佳答案

R 字符串文字将反斜杠视为转义符号。如果您编写 \",反斜杠只是转义 ",但由于它不是有效的转义序列,反斜杠将被忽略。

要编写文字反斜杠,请使用 \\,双反斜杠。

URLencode('\\"') 
## => "%5c%22"
URLencode('"')
## => "%22"
URLencode('parse "I am * \\"good\\"" as adj')
## => "parse%20%22I%20am%20*%20%5c%22good%5c%22%22%20as%20adj"

参见 IDEONE demo

关于regex - 区分引号 (") from backslash and quotation mark (\"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33284930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com