我的 Dataframe 中有一列包含自由文本
我想提取INDICATIONS FOR EXAMINATION
之后和下一个大写行之前的文本。在下面的示例中,结果将是“Anaemia”
INDICATIONS FOR EXAMINATION
Anaemia
PROCEDURE PERFORMED
Gastroscopy (OGD)
我遇到了一些麻烦,因为我正在使用stringr
,我似乎不能得到多行匹配。我一直在使用:
EoE$IndicationsFroExamination<-str_extract(EoE$Endo_ResultText, '(?<=INDICATIONS FOR EXAMINATION).*?[A-Z]+')
2条答案
按热度按时间g52tjvyc1#
这需要一点挖掘。您可以使用
regex()
修饰符函数。1.使用
multiline
参数打开多行拟合:1.请注意
dotall
参数,它将打开".*"
的多行行为:这些都记录在
stringi::stri_opts_regex()
中,stringr::regex()
将参数传递给stringi::stri_opts_regex()
。ltskdhd12#
我将正则表达式做得更通用一些,这样它将匹配所有出现的情况,并使用
stringr
中的str_extract_all
包:根据您提供的字符串,该函数应返回: