我想从文本中提取名称字段,例如
name = "My name is John Smith"
应该返回 John Smith
我目前的代码是
grep(".^[A-Z][a-z]+\\s[A-Z][a-z]+", name, value = TRUE)
答案 0 :(得分:4)
我们可以使用sub
来捕获以大写字母开头的单词,后跟小写字母,然后是空格,后跟单词大写字母,小写字母后跟其他字符({{1 }}并替换为捕获组
.*
)
\\1
编辑:添加了@ DJack的推荐
sub(".*([A-Z][a-z]+\\s[A-Z][a-z]+).*", "\\1", name)
#[1] "John Smith"