当两个单词被其他单词包围时,是否有可能匹配字符中的两个单词?

时间:2019-04-04 11:15:14

标签: r regex text gsub stringr

我试图将文本文件中的两个单词匹配在一起。具体来说,在以下链接中,您可以看到人们的传记:https://www.sec.gov/Archives/edgar/data/1084869/0001437749-17-017820.txthttps://www.sec.gov/Archives/edgar/data/1084869/000143774917017820/flws20171026b_def14a.htm

I.E。链接如下:现年63岁的拉里·扎林(Larry Zarin)自2009年3月起担任公司董事。扎林先生曾是《财富》 25强公司Express Scripts的高级副总裁兼首席营销官。处方药更安全,更实惠,直到2013年7月退休为止。

因此,我想将第二个名字Zarin与Marketing一词匹配,并将两个单词的这个字符放在一个单元格中。

我用第二个名字创建了一个表

NAME

Oliver       
Zarin        
McCann       
Hegarty 

这是我用来清理字符向量的代码。

a<-"https://www.sec.gov/Archives/edgar/data/1084869/0001437749-17-017820.txt"
singleString <- paste(readLines(paste0(a)), collapse=" ")
singleString <-as.character(singleString)
b<-gsub("<[^>]+>", "",singleString)
a<-gsub('[0-9]+', '', b)

但是之后,我从stringi包中运行了不同的代码,如stri_replace_all_regex。但是每次我得到错误的结果。

\ bNAME?\ s +(?:\ w + \ s +){0,30} marketing | Marketing \ NAME \ b

上面的代码有助于选择两个NAME之间的单词范围,因此,如果其他人的传记开始,那么前面的传记就结束了。

最终输出应类似于此表

NAME       MARKETING

Oliver       1
Zarin        1
McCann       0
Hegarty      0

0 个答案:

没有答案