如何使用反斜杠自动处理 strings/paths?
How to automatically handle strings/paths with backslashes?
我经常想读取 csv 文件,我通过使用 shift + 右键单击然后单击 "copy path" 来获取路径。
我将此路径粘贴到我的代码中。请参阅下面的示例:
read_csv("C:\Users\me\data\file.csv")
显然,由于反斜杠,这不起作用。我目前的解决方案是转义每一个,以便我的代码如下所示:
read_csv("C:\Users\me\data\file.csv")
它有效,但很烦人,偶尔我会出错,因为我漏掉了一个反斜杠。
我想创建一个自动添加额外斜线的函数
fix_path <- function(string) str_replace(string, "\\", "\\\\")
但在处理反斜杠之前,R 不会首先识别字符串。
还有其他方法可以解决这个问题吗? Python 可以选择在字符串前添加 "r" 以注意反斜杠应该像常规反斜杠一样对待,R 中有类似的东西吗?明确地说,我知道我可以转义反斜杠,但我正在寻找一种自动执行此操作的方法。
您可以使用此 hack。假设您已经按照提到的方式复制了您的路径,那么您可以使用
scan("clipboard", "character", quiet = TRUE)
scan
读取从剪贴板复制的文本并注意反斜杠。然后再次复制从 scan
返回的内容
我经常想读取 csv 文件,我通过使用 shift + 右键单击然后单击 "copy path" 来获取路径。
我将此路径粘贴到我的代码中。请参阅下面的示例:
read_csv("C:\Users\me\data\file.csv")
显然,由于反斜杠,这不起作用。我目前的解决方案是转义每一个,以便我的代码如下所示:
read_csv("C:\Users\me\data\file.csv")
它有效,但很烦人,偶尔我会出错,因为我漏掉了一个反斜杠。
我想创建一个自动添加额外斜线的函数
fix_path <- function(string) str_replace(string, "\\", "\\\\")
但在处理反斜杠之前,R 不会首先识别字符串。
还有其他方法可以解决这个问题吗? Python 可以选择在字符串前添加 "r" 以注意反斜杠应该像常规反斜杠一样对待,R 中有类似的东西吗?明确地说,我知道我可以转义反斜杠,但我正在寻找一种自动执行此操作的方法。
您可以使用此 hack。假设您已经按照提到的方式复制了您的路径,那么您可以使用
scan("clipboard", "character", quiet = TRUE)
scan
读取从剪贴板复制的文本并注意反斜杠。然后再次复制从 scan