如何在R中子集字符串
亲爱的各位,我有一个字符串向量,如:如何在R中子集字符串,r,string,substr,R,String,Substr,亲爱的各位,我有一个字符串向量,如: LOCAT01PE WECAT013EJD AFECAT0155DR 我想对每个值进行子集,仅获取CAT和以下所有数字: CAT01 CAT013 CAT0155 我曾尝试使用substr命令,但它不起作用,因为单词CAT之前的数量不固定,CAT之后的数字也不固定。在基数R中,我们可以使用sub来提取CAT后跟数字 x <- c('LOCAT01PE', 'WECAT013EJD', 'AFECAT0155DR') sub('..*(CAT\\d+
LOCAT01PE
WECAT013EJD
AFECAT0155DR
我想对每个值进行子集,仅获取CAT和以下所有数字:
CAT01
CAT013
CAT0155
我曾尝试使用substr命令,但它不起作用,因为单词CAT之前的数量不固定,CAT之后的数字也不固定。在基数R中,我们可以使用sub来提取CAT后跟数字
x <- c('LOCAT01PE', 'WECAT013EJD', 'AFECAT0155DR')
sub('..*(CAT\\d+).*', '\\1', x)
#[1] "CAT01" "CAT013" "CAT0155"
在基数R中,我们可以使用sub来提取CAT,后跟数字
x <- c('LOCAT01PE', 'WECAT013EJD', 'AFECAT0155DR')
sub('..*(CAT\\d+).*', '\\1', x)
#[1] "CAT01" "CAT013" "CAT0155"
我们还可以将substr与regexpr一起使用,以标识字符串中的相关开始/停止点:
substr(vec,
start = regexpr('CAT', vec),
stop = regexpr('\\d[a-zA-Z]', vec)
)
输出:
[1] "CAT01" "CAT013" "CAT0155"
我们还可以将substr与regexpr一起使用,以标识字符串中的相关开始/停止点:
substr(vec,
start = regexpr('CAT', vec),
stop = regexpr('\\d[a-zA-Z]', vec)
)
输出:
[1] "CAT01" "CAT013" "CAT0155"
我们可以在base R中使用regexpr/regmatches。它匹配单词“CAT”,后跟-如果有的话?和一个或多个数字\\d+
数据
我们可以在base R中使用regexpr/regmatches。它匹配单词“CAT”,后跟-如果有的话?和一个或多个数字\\d+
数据
x x