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

前端之家收集整理的这篇文章主要介绍了正则表达式 – 序列化字符串中的“姓氏,名字” – >“名字姓氏”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一堆字符串,包含姓氏,名字格式的名字列表,用逗号分隔,如下所示:
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"

猜你在找的正则表达式相关文章