我想從列中提取字符串,如果其長度在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
感謝您的幫助!
我想從列中提取字符串,如果其長度在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
感謝您的幫助!
使用此:
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"
@ sandipan-此解決方案工作。謝謝! – ksp585
嘗試使用以下方法:
x <- gsub(".* (.*)", "\\1", x)
如果你想限制爲字符串與6至10個字符,減去連字符,你可以使用:
lens <- nchar(gsub("-", "", x))
x <- x[lens >= 6 & lens <= 10]
沒有足夠的邏輯在這裏給一個簡單的規則,用於提取最終的字符串。 –