【发布时间】:2021-11-13 13:21:20
【问题描述】:
这是我的数据,一个字符串:
data <- "Mr. NAME. Content1.Mrs. NAMEE. Content2.Ms. NAME ABCD. Content3."
我通过以下语法得到一个名称向量:
name <- unlist(str_extract_all( text, "Mr\\.\\s[:upper:]{1,20}\\s?[:upper:]{1,20}\\.|Ms\\.\\s[:upper:]{1,20}\\s?[:upper:]{1,20}\\.|Mrs\\.\\s[:upper:]{1,20}\\s?[:upper:]{1,20}\\." ))
我得到了我想要的:
名称 [1] “布克先生。” “科默先生。” “贝尔德先生。” “柯克帕特里克夫人。”
[5] “科尔特斯·马斯托女士。” “罗森女士。” “海耶斯夫人。” “莎拉拉女士。”
[9] “德奇先生。” “肯尼迪先生。” “克里希纳穆尔蒂先生。” “索托先生。”
[13] “索托先生。” “戴明斯夫人。” “索托先生。” “西西林先生。”
[17] “索托先生。” “瓦瑟曼·舒尔茨女士。” “索托先生。” “瓦瑟曼·舒尔茨女士。”
如何获得名称之间内容的向量。我想要一个这样的向量:
"Content1." "Content2." "Content3."
我尝试使用str_subset和strsplit来获取我在str_extract函数中定义的模式之间的内容,一次又一次失败......
【问题讨论】:
-
这两个答案对你有用吗?
-
是的。我将它们结合起来,得到了我想要的东西