2017-09-23 130 views
0

我有這個字符串mystring。我想一次去除字符串的開始和結束並得到結果。我該怎麼做呢 ?如何刪除R中的字符串的開始和結束?

mystring <- c("new_DCLd_2_LTR_assembly.csv", "new_nonLTR_DCLd_2_assembly.csv" 
) 

結果,我想:

DCLd_2_LTR_assembly nonLTR_DCLd_2_assembly

回答

3

我們可以使用gsub來匹配後不跟從一開始就_^)一_[^_]*)零個或多個字符的字符串或(|.後跟csv並將其替換爲空白(""

gsub("^[^_]*_|\\.csv", "", mystring) 
#[1] "DCLd_2_LTR_assembly" "nonLTR_DCLd_2_assembly" 

或者使用sub與捕捉組

sub("^[^_]*_([^.]*)\\..*", "\\1", mystring) 
+0

感謝。我想知道是否還有一種方法可以通過指定要從開始和結束中刪除的字符數來完成此操作? – MAPK

+2

@MAPK''substr' from'stringr' – Wen

+1

@MAPK as Wen said'substr(mystring,5,nchar(mystring)-4)' – akrun

2
library(stringr) 
str_sub(mystring,5,-5) 
[1] "DCLd_2_LTR_assembly" "nonLTR_DCLd_2_assembly" 

或者只是使用(按akrun)

substr(mystring, 5, nchar(mystring)-4) 
相關問題