我是R(以及一般的编程)的新手。我正在尝试遵循此示例:
filter_symbols <-function(symbols){
symbols <-toupper(symbols)
valid <-regexpr("^[A-Z]{2,4}$", symbols)
return(sort(symbols[valid == 1))
}
我知道这应该将所有符号隐藏为大写,并仅返回带有 2-4 个字母的符号。但它返回
字符(0)
什么意思?为什么会这样?
我们可以将向量转换为大写(toupper
),并且只能grep
将大写字母转换为字符串的开始(^
)到结束($
)。
grep("^[A-Z]{2,4}$", toupper(v1), value = TRUE)
数据
v1 <- c( "MOT", "cvx", "123", "Gog2", "XLe")