gpt4 book ai didi

r - 如何在R中的字符串中存储特殊字符

转载 作者:行者123 更新时间:2023-12-05 06:11:47 25 4
gpt4 key购买 nike

我正在尝试将特殊转义字符 \ 作为字符串的一部分存储在 R 中。

x = "abcd\efg"

# Error: '\e' is an unrecognized escape in character string starting ""abcd\e"

x = "abcd\\efg"

# Works

问题是 x 实际上是我作为 API 网络调用的一部分传递的密码,因此我需要找到一种方法让字符串存储文字单斜杠,以便执行此操作去工作。

使用忽略文字命令的示例:

> x = r"(abcd\efg)"

> y = "https://url?password="

> paste(x, y, sep = "")
[1] "abcd\\efg123"

> # What I need is for it to return
[1] "abcd\efg123"

> z = paste(y, x, sep = "")

> z
[1] "https://url?password=abcd\\efg"

> cat(z)
https://url?password=abcd\efg

当我将 z 作为 API 命令的一部分传递时,我收到“错误凭证”消息,因为它将 \\ 作为字符串的一部分发送。 cat 将其正确返回到控制台,但发送方式似乎与打印方式不同。

最佳答案

就像评论中的其他人所说的那样,R 似乎正确处理了该字符串。我认为它会在其他地方成为问题。 API 或通行证匹配软件本身可能正在用它做一些事情。

举个例子,反斜杠如果一字不差地写在大多数浏览器中将不起作用,您需要使用 %5C 代替。 Here是关于它的一个讨论。

所以在你的情况下 - 尝试用其他东西替换反斜杠, %5C 或者,正如@Roland在评论中提到的,一些额外的反斜杠符号,比如 \\\\\\\\\。然后看看它们是否有效。

关于r - 如何在R中的字符串中存储特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63819558/

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