gpt4 book ai didi

regex - “last name, first name”->序列化字符串中的“first name last name”

转载 作者:行者123 更新时间:2023-12-04 13:33:11 29 4
gpt4 key购买 nike

我有一堆字符串,其中包含以姓氏,名字格式命名的名称列表,并用逗号分隔,如下所示:

names <- c('Beaufoy, Simon, Boyle, Danny','Nolan, Christopher','Blumberg, Stuart, Cholodenko, Lisa','Seidler, David','Sorkin, Aaron')

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

最佳答案

如果您可以确定逗号不会出现在一个人的名字中,那么这可能会起作用:

mynames <- c('Beaufoy, Simon, Boyle, Danny',
'Nolan, Christopher',
'Blumberg, Stuart, Cholodenko, Lisa',
'Seidler, David',
'Sorkin, 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。

如果希望将一起使用引号的名称保留在一起,请将 collapse = ", "添加到 paste()函数中:
unlist(lapply(mynames2, 
function(x) paste(x[1:length(x) %% 2 == 0],
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"

关于regex - “last name, first name”->序列化字符串中的“first name last name”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14485060/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com