分隔包含转义符号的列作为R中的定界符

时间:2019-05-15 02:03:01

标签: r stringr

我在R中有一个“名称”列,其中包含名称及其分配的ID,并以转义符号分隔。

例如:

#dput(head(df$columnname))

 structure(c(8L, 410L, 238L, 457L, 34L, 115L), .Label = c("Aaron Gordon\\gordoaa01", 
"Aaron Holiday\\holidaa01", "Abdel Nader\\naderab01", ..., class = "factor")

我正在尝试使用tidyversestringr,因为这是此处的大多数解决方案所导致的。

我在这里尝试了一些解决方案,例如:

separate(columnname,
           c("First_Name","Second_Name","Last_Name","ID"))

separate(columnname, into = c("Name","ID"), sep = "\\d")

以及

stringr::str_subset(df$columnname,"\")

我的主要问题是“ \”符号。如果我只删除“ \”符号后的ID,我会很高兴的。 单独的功能效果不错,但是有些播放器使用中间名或缩写名。通过使用:

separate(columnname, c("First_name", Last_name"))

我会解决ID问题,但会创建其他问题,例如球员姓名如下:

First_name

P

Last_name

J

再次,我只想删除" \ "之后的所有内容,因此在此之后的其他操作特别有用。

1 个答案:

答案 0 :(得分:0)

由于\regex语法中的转义字符,为了匹配,分割,定位等,在stringr中,您需要“转义转义”:

str_split(df$columnname, "\\\\")