我想从列中提取字符串,如果其长度在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]
没有足够的逻辑在这里给一个简单的规则,用于提取最终的字符串。 –