比如我有以下字符串:如何在一個字符串中提取以特定字符開始和結束的子字符串?
sample = "I am a good guy; he is cool; I am a cool dude; let's do it!"
我需要找到與「我」和結束開始子「;」所以輸出應該是這樣的:
I am a good guy
I am a cool dude
任何建議如何在R中做到這一點?謝謝
比如我有以下字符串:如何在一個字符串中提取以特定字符開始和結束的子字符串?
sample = "I am a good guy; he is cool; I am a cool dude; let's do it!"
我需要找到與「我」和結束開始子「;」所以輸出應該是這樣的:
I am a good guy
I am a cool dude
任何建議如何在R中做到這一點?謝謝
這裏是一個stringr庫解決方案:
str_match_all(sample, "I am.*?;")
#[[1]]
# [,1]
#[1,] "I am a good guy;"
#[2,] "I am a cool dude;"
縱梁具有與從分裂處理字符串和提取信息的幾個非常強大的功能。
非常好知道,謝謝分享。 – Mohammad
您可以使用正則表達式。例如
regmatches(sample, gregexpr("I am [^;]+;", sample))
# [[1]]
# [1] "I am a good guy;" "I am a cool dude;"
請注意,由於每個字符串可以有多個匹配,所以R返回一個向量列表。請注意,當你去處理結果。
我們可以使用str_extract_all
library(stringr)
str_extract_all(sample, "I am [^;]+(?=;)")[[1]]
#[1] "I am a good guy" "I am a cool dude"
你需要的是一個R編程riight? – rUCHit31
@ rUCHit31yes。對困惑感到抱歉。我將編輯這個問題,並清楚地表明 – Mohammad