我正在尝试从Word文档中提取一种形式的值,以便可以将它们制成表格。我使用了反词包将.doc转换为字符串,现在我想根据文档中的标记提取值。
例如
example<- 'CONTACT INFORMATION\r\n\r\nName: John Smith\r\n\r\nphone: XXX-XXX-XXXX\r\n\r\n'
Name<- grep('\nName:', example, value = TRUE)
Name
当我希望只返回“ John Smith”时,此代码返回整个字符串。
是否可以在grep()
上添加结束标记?我也尝试过str_extract()
,但在将模式格式化为正则表达式时遇到了问题
答案 0 :(得分:3)
我们可以使用gsub
删除包含Name:
的子字符串,并在\r
之后的那些字符之后,通过匹配模式并用空格(""
代替)
gsub(".*Name:\\s+|\r.*", "", example)
#[1] "John Smith"
答案 1 :(得分:1)
我们还可以使用:
strsplit(stringr::str_extract_all(example,"\\\nName:.*",simplify = T),": ")[[1]][2]
#[1] "John Smith"