gpt4 book ai didi

读取带有单引号和双引号的字符串

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

只是夏天对 R 中的字符串感到好奇。假设我有一个 xy 字符串。正如我们所知,我们必须在双引号中引用单引号,反之亦然。

x <- "a string with 'single' quotes"
y <- 'another one with "double" quotes'

paste0(x, y)
[1] "a string with 'single' quotesanother one with \"double\" quotes"
cat(x, y)
a string with 'single' quotes another one with "double" quotes

如果我们有一个带有单引号和双引号的字符串怎么办?我已经尝试过这个:反引号不起作用(R 触发错误):

z <- `a string with 'single' quotes and with "double" quotes`

使用 \" 代替 ",然后使用 cat:这很有效,但问题是用户必须在每个双引号中添加反斜杠。

z1 <- "a string with 'single' quotes and with \"double\" quotes"

如果我们有一个巨大的文本文件(例如.txt),其中包含两种类型的引号,并且我们想在 R 中读取,该怎么办?

在这一点上,对我来说,一个(愚蠢的)解决方案似乎是:在 R 之外工作,进行一些操作(例如用 \" 替换所有 " ),然后读取在 R 中。这是一个解决方案还是 R 内部存在更好的方法?

这里只是一个小.txt 文件,例如:Link无论如何,对于感兴趣的人来说,该文件只是一个 .txt,其中一行包含以下文本:

a string with 'single' quotes and with \"double\" quotes

最佳答案

在阅读文本时,您可以根据需要指定任何备用引用字符,例如

> p<-scan(what="character",quote="`")
1: `It is 'ambiguous' if "this is a new 'string' or "nested" in the 'first'", isn't it?`
2:
Read 1 item
> p
[1] "It is 'ambiguous' if \"this is a new 'string' or \"nested\" in the 'first'\", isn't it?"

或者,只阅读原始文本,例如按照 @rawr 的建议,使用 readline

> readline()
"It is 'ambiguous' if "this is a new 'string' or "nested" in the 'first'", isn't it?"
[1] "\"It is 'ambiguous' if \"this is a new 'string' or \"nested\" in the 'first'\", isn't it?\""

关于读取带有单引号和双引号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31857819/

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