gpt4 book ai didi

regex - 在第一个空格处分割字符串

转载 作者:行者123 更新时间:2023-12-03 10:48:18 25 4
gpt4 key购买 nike

我想将一个字符串 vector (人们的名字)分成两列( vector )。问题是有些人的姓氏是“两个字”。我想将名字和姓氏分成两列。我可以使用下面的代码分割并取名字,但我不知道姓。 (请参阅下面的示例样本中的obs 29,以了解这一点,因为福特拥有Pantera L的“姓氏”,必须将其保持在一起)

到目前为止我一直在尝试做的事情;

x<-rownames(mtcars)
unlist(strsplit(x, " .*"))

我希望它看起来像什么:
            MANUF       MAKE
27 Porsche 914-2
28 Lotus Europa
29 Ford Pantera L
30 Ferrari Dino
31 Maserati Bora
32 Volvo 142E

最佳答案

正则表达式rexp与字符串开头的单词(可选的空格)匹配,然后与字符串的其余部分匹配。括号是作为后向引用\\1\\2访问的子表达式。

rexp <- "^(\\w+)\\s?(.*)$"
y <- data.frame(MANUF=sub(rexp,"\\1",x), MAKE=sub(rexp,"\\2",x))
tail(y)
# MANUF MAKE
# 27 Porsche 914-2
# 28 Lotus Europa
# 29 Ford Pantera L
# 30 Ferrari Dino
# 31 Maserati Bora
# 32 Volvo 142E

关于regex - 在第一个空格处分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8299978/

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