簡體   English   中英

返回字符串中兩個字符之間的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM