2016-10-04 30 views
1

我想從列中提取字符串,如果其長度在6-10之間。這些字符串由空格分隔。R - 根據列的長度提取字符串

例子:

Column A 

" 3 89 -90/ 900407-2" 
" 3 9 -90/ 900407-1" 
" 89 -9011/ 800408" 

輸出應該是:

Output column 

    900407-2 
    900407-1 
    800408 

感謝您的幫助!

+0

沒有足夠的邏輯在這裏給一個簡單的規則,用於提取最終的字符串。 –

回答

0

使用此:

A <- c(" 3 89 -90/ 900407-2", 
     " 3 9 -90/ 900407-1", 
     " 89 -9011/ 800408") 
gsub(".*/.*([0-9].*?)", "\\1", A) 
#[1] "900407-2" "900407-1" "800408" 
+0

@ sandipan-此解決方案工作。謝謝! – ksp585

0

嘗試使用以下方法:

x <- gsub(".* (.*)", "\\1", x) 

如果你想限制爲字符串與6至10個字符,減去連字符,你可以使用:

lens <- nchar(gsub("-", "", x)) 
x <- x[lens >= 6 & lens <= 10] 
相關問題