[英]Return value between two characters in a string
我正在嘗試從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()
但在將模式格式化為正則表達式時遇到問題
我們可以使用gsub
刪除包含Name:
的子字符串,並在\\r
以匹配模式開頭並替換為空白( ""
)的字符之后
gsub(".*Name:\\s+|\r.*", "", example)
#[1] "John Smith"
我們還可以使用:
strsplit(stringr::str_extract_all(example,"\\\nName:.*",simplify = T),": ")[[1]][2]
#[1] "John Smith"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.