在R中创建一个带有特殊字符的字符串
Posted
技术标签:
【中文标题】在R中创建一个带有特殊字符的字符串【英文标题】:Create a string with special character in R 【发布时间】:2021-08-15 22:35:01 【问题描述】:我在创建带有特殊字符的字符串时遇到问题。我问了一个类似的问题,我也阅读了关于我的问题的类似问题的答案,但我无法找到解决方案。
我想创建一个带有特殊字符的string
字符。我一直在尝试使用cat
,但我知道它仅用于打印,而不是用于将字符串保存在 R 中的变量中。
我想要这样的结果:
> cat("C:\\Users\\ppp\\ddd\\")
C:\Users\ppp\ddd\
我一直在尝试使用paste
和collapse
,但没有成功:
> x = c("C:","Users","ppp","ddd")
> t <- paste0(x, collapse = '\n')
> t
[1] "C:\nUsers\nppp\nddd"
【问题讨论】:
你应该使用file.path
而不是paste
:file.path("C:","Users","ppp","ddd")
我不想要 R 的工作目录。我想创建一个字符串。
就是这样
是的,但是要创建一个用这个\作为分隔符的字符串,而不是这个/
1) /
适用于 Windows,2) file.path
将为您的操作系统选择正确的默认分隔符,这是它优于 paste
的原因之一,3) 您可以覆盖默认分隔符,你应该阅读?file.path
的帮助文件
【参考方案1】:
你确定不想要
x = c("C:","Users","ppp","ddd")
t <- paste0(x, collapse = '/')
t
[1] "C:/Users/ppp/ddd"
R 使用这种格式来设置工作目录。
你也可以这样做:
x = c("C:","Users","ppp","ddd")
t <- paste0(x, collapse = '\\')
t
[1] "C:\\Users\\ppp\\ddd"
虽然这个结果看起来不对,但如果你在 R 中使用 shell() 命令中的字符串来解释 Windows,例如,它将被正确解释
【讨论】:
我知道工作目录在 R 中是如何工作的,但我希望采用我为 MATLAB 解释的方式 如果要在 MATLAB 中使用,您不能以在 R 中工作的方式存储它,然后在您的 MATLAB 代码中更改它吗?【参考方案2】:没有回答...但是
t <- paste0(x, collapse = '/')
“C:/Users/ppp/ddd”似乎在 Windows 上工作。
【讨论】:
以上是关于在R中创建一个带有特殊字符的字符串的主要内容,如果未能解决你的问题,请参考以下文章
R REGEX匹配-至少1个小写字母,1个数字,并且没有8个长度的特殊字符[重复]