【发布时间】:2019-07-25 10:19:33
【问题描述】:
我想处理来自数据框的复杂姓名和姓氏。
list <- c("DUPONT J", "DUPONT DE JEAN, V", "JEAN V Y","DE DUPONT Z V","DUPONT VAN RIVIERE Z")
因此,我只想要 [完整姓名] [空白] [姓氏第一个字母]:
list2 <- c('DUPONT J', 'DUPONT DE JEAN V',"JEAN V","DE DUPONT Z","DUPONT VAN RIVIERE Z")
我尝试使用 str_extract 函数,但名称中的“DE”或“VAN”在提取整个名称时遇到问题。
str_extract(temp1$value, "[A-Z]+\\s[A-Z]")
我认为正确的代码应该是: 1)识别第一个姓氏字母是什么 2)取第一个姓氏字母之前的所有内容。
【问题讨论】:
-
我真的不明白你的逻辑。为什么要从
Jean V Y中删除Y而从Dupont Van Riviere Z中删除任何内容? -
我不知道为什么,但在我的数据库中,有时他们会放一个姓氏的首字母,有时放两个。 “DUPONT VAN RIVIERE”是完整的姓氏,“Z”是姓氏的第一个字母。在“Jean V Y”中,“Jean”是姓氏,V是姓氏的第一个字母
-
“姓”和“姓”不是一回事吗?还是说“姓”时是指“名字/名字”