此gsub()如何工作?

时间:2018-11-07 06:07:11

标签: r gsub

所以,这是代码,我听不懂输出。

原始theStr:“ C:\\ Users \\ codep \\ Desktop \\ DM_HW2 \\\ 2017-07-9.csv”

gsub("^(.*)\\\\.*$",'\\1',theStr)

它变成:“ C:\\ Users \\ codep \\ Desktop \\ DM_HW2”

什么是“ \\\\”。模式中的'\\ 1'替换?

1 个答案:

答案 0 :(得分:0)

您的模式可以解释如下:

^(.*)\\\\   - match and capture everything up but excluding the LAST path separator
.*$         - then match/consume the remainder of the file path

然后,将原始输入替换为捕获的数量\\1,这是传递给gsub的第二个参数。这样可以有效地删除从最终路径分隔符到文件路径末尾的所有内容。

这是一个正则表达式演示,您可以使用它自己查看模式如何匹配以及捕获组是什么:

Demo