2014-10-31 222 views
4

如何刪除R中兩個特定字符之間的字母?刪除R中兩個字符串之間的字母

例如

a= "a#g abcdefgtdkfef_jpg>pple" 

我想刪除#gjpg>之間的所有字母

a1="apple" 

我試圖找到在stringr一些功能,但我不能

+1

拼寫錯誤'stringr'。 – 2014-10-31 20:15:30

回答

9

有無需爲此操作加載包。您可以使用基本R功能sub。它用於匹配第一次出現的正則表達式。

a <- "a#g abcdefgtdkfef_jpg>pple" 
sub("#g.*jpg>", "", a) 
# [1] "apple" 

Regular expression explained:

  • #g匹配"#g"
  • .*匹配除了\n任何字符(零次或多次)
  • jpg>匹配"jpg>"

所以在這裏,我們取消了一切開始#g直至幷包括jpg>


在問候您的評論

我試圖找到在stringR一些功能,但我不能

實際拼寫爲stringr(區分大小寫)。你可以使用str_replace

library(stringr) 
str_replace(a, "#g.*jpg>", "") 
# [1] "apple" 
+0

對於嚴格遵守要求,它會是'「#。* jpg>」' – 2014-10-31 19:37:42

+0

對,謝謝。更正 – 2014-10-31 19:39:02

+1

任何人都希望'stringr :: str_replace()'爲'sub()'的任何洞察? – 2014-10-31 19:53:53

相關問題