[英]How do I extract text between two characters in R
我想在兩個字符串之間為所有出現的模式提取文本。 例如,我有這個字符串:
x<- "\nTYPE: School\nCITY: ATLANTA\n\n\nCITY: LAS VEGAS\n\n"
我想提取ATLANTA
和LAS VEGAS
這樣的詞:
[1] "ATLANTA" "LAS VEGAS"
我嘗試使用gsub(".*CITY:\\\\s|\\n","",x)
。 產生的輸出是:
[1] " LAS VEGAS"
我想輸出兩個城市(數據中的一些模式包括超過2個城市)並輸出它們而沒有前導空格。
我也嘗試過qdapRegex包,但無法接近。 我對正則表達式不太好,所以非常感謝幫助。
另外一個選項:
library(stringr)
str_extract_all(x, "(?<=CITY:\\s{3}).+(?=\\n)")
[[1]]
[1] "ATLANTA" "LAS VEGAS"
讀作:提取任何前面帶有“City:”(和三個空格)的內容,然后是“\\ n”
選項可以是:
regmatches(x,gregexpr("(?<=CITY:).*(?=\n\n)",x,perl = TRUE))
# [[1]]
# [1] " ATLANTA" " LAS VEGAS"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.