R中的正则表达式和SharePoint名称
我正在尝试从SharePoint生成的列表中提取名称 列表中的每个项目至少包含一个名称和一个长度不同的数字id 列表的格式如下所示:R中的正则表达式和SharePoint名称,r,regex,sharepoint,stringr,R,Regex,Sharepoint,Stringr,我正在尝试从SharePoint生成的列表中提取名称 列表中的每个项目至少包含一个名称和一个长度不同的数字id 列表的格式如下所示: all_projects %>% select(contact_names) A tibble: 116 x 1 contact_names &
all_projects %>%
select(contact_names)
A tibble: 116 x 1
contact_names
<chr>
1 last_name, first_name;#6903;#last_name, first_name;#36606
2 last_name, first_name;#8585
3 ...
4 last_name, first_name;#14801
但结果是:
\"last_name, first_name;;last_name, first_name;\",
要不是双倍的;,哪一个还可以代码>。插入(”
)空白字符串str_replace_all(string,pattern=“;#?\\d*”,“”)将返回:
\"last_name, first_namelast_name, first_name;\",
理想情况下,我希望将名字和姓氏分为两列
非常感谢您的帮助。我们可以使用separate/separate\u rows
library(tidyverse)
separate_rows(df1, contact_names, sep = ";") %>%
filter(!grepl("#\\d+", contact_names)) %>%
mutate(contact_names = str_replace_all(contact_names, "#", "")) %>%
separate(contact_names, into = c("last", "first"), sep=",", remove = FALSE)
# A tibble: 4 x 3
# contact_names last first
#* <chr> <chr> <chr>
#1 last_name, first_name last_name first_name
#2 last_name, first_name last_name first_name
#3 last_name, first_name last_name first_name
#4 last_name, first_name last_name first_name
库(tidyverse)
单独的_行(df1,联系人姓名,sep=“;”)%>%
筛选器(!grepl(“#\\d+”,联系人姓名))%>%
变异(联系人姓名=str_替换所有联系人姓名,“#”和“”)%>%
分开(联系人姓名,分为=c(“最后”、“第一”),sep=“,”,remove=FALSE)
#一个tibble:4x3
#联系人姓名排在最后
#*
#1姓氏,姓氏姓氏姓氏姓氏
#2姓,名姓氏姓氏姓氏姓氏
#3姓氏,名姓氏姓氏姓氏姓氏
#4姓,名姓氏姓氏姓氏姓氏
数据
df1
library(tidyverse)
separate_rows(df1, contact_names, sep = ";") %>%
filter(!grepl("#\\d+", contact_names)) %>%
mutate(contact_names = str_replace_all(contact_names, "#", "")) %>%
separate(contact_names, into = c("last", "first"), sep=",", remove = FALSE)
# A tibble: 4 x 3
# contact_names last first
#* <chr> <chr> <chr>
#1 last_name, first_name last_name first_name
#2 last_name, first_name last_name first_name
#3 last_name, first_name last_name first_name
#4 last_name, first_name last_name first_name
df1 <- tribble(
~contact_names,
"last_name, first_name;#6903;#last_name, first_name;#36606",
"last_name, first_name;#8585",
"last_name, first_name;#14801")