我已经在堆栈溢出中读到了关于这个主题的一些问题和答案,但仍然不知道如何解决这个问题:
我的目的是将Windows资源管理器中的文件目录字符串转换为R中可识别的格式,例如C:\ Users\Public需要转换为C:/ Users/Public,基本上单个反斜杠应该替换为正斜线.但是R无法存储原始字符串"C:\ Users\Public",因为\ U和\ P被认为是转义字符.
dirTransformer <- function(str){
str.trns <- gsub("\\", "/", str)
return(str.trns)
}
str <- "C:\Users\Public"
dirTransformer(str)
> Error: '\U' used without hex digits in character string starting ""C:\U"
Run Code Online (Sandbox Code Playgroud)
我实际编写的是GUI,最终效果是,用户将目录键入或粘贴到输入字段中,按下按钮然后程序将自动处理它.
有人请建议我如何解决这个问题?
当您需要在R中的字符串中使用反斜杠时,需要放置双反斜杠。另外,当您使用时gsub("\\", "/", str),第一个参数将解析为正则表达式,并且无效,因为它仅包含必须转义某些内容的单个文字反斜杠。事实上,你需要gsub把它当作一个纯文本带fixed=TRUE。
但是,您可能想要使用normalizePath,请参见此SO线程。
| 归档时间: |
|
| 查看次数: |
6148 次 |
| 最近记录: |