加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 序列化字符串中的“姓氏,名字” – >“名字姓

发布时间:2020-12-13 22:56:44 所属栏目:百科 来源:网络整理
导读:我有一堆字符串,包含姓氏,名字格式的名字列表,用逗号分隔,如下所示: names - c('Beaufoy,Simon,Boyle,Danny','Nolan,Christopher','Blumberg,Stuart,Cholodenko,Lisa','Seidler,David','Sorkin,Aaron') 将字符串中的所有这些名称转换为名字姓氏格式的最简单
我有一堆字符串,包含姓氏,名字格式的名字列表,用逗号分隔,如下所示:
names <- c('Beaufoy,Simon,Boyle,Danny','Nolan,Christopher','Blumberg,Stuart,Cholodenko,Lisa','Seidler,David','Sorkin,Aaron')

将字符串中的所有这些名称转换为名字姓氏格式的最简单方法是什么?

如果你可以确定一个逗号不是一个人的名字,这可能会有效:
mynames <- c('Beaufoy,Aaron','Hoover,J. Edgar')
mynames2 <- strsplit(mynames,",")

unlist(lapply(mynames2,function(x) paste(x[1:length(x) %% 2 == 0],x[1:length(x) %% 2 != 0])))
# [1] "Simon Beaufoy"     "Danny Boyle"       "Christopher Nolan"
# [4] "Stuart Blumberg"   "Lisa Cholodenko"   "David Seidler"    
# [7] "Aaron Sorkin"      "J. Edgar Hoover"

我已经在那里添加了J. Edgar Hoover.

如果您希望一起引用的名称保持在一起,请将fold =“,”添加到您的paste()函数中:

unlist(lapply(mynames2,x[1:length(x) %% 2 != 0],collapse = ",")))
# [1] "Simon Beaufoy,Danny Boyle"       "Christopher Nolan"               
# [3] "Stuart Blumberg,Lisa Cholodenko" "David Seidler"                   
# [5] "Aaron Sorkin"                     "J. Edgar Hoover"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读