如何获得R中字符向量中元素的长度?

时间:2019-05-11 16:05:25

标签: r regex string function character

以下,我希望length(group.name)返回3。但是它只返回1。是否有 Base R 解决方案来获取字符向量的元素数量?

group.name = c("bigii, ggigi, ciggi")
length(group.name)
#[1] 1

2 个答案:

答案 0 :(得分:1)

一种选择是用str_count

计算单词数
library(stringr)
str_count(group.name, "\\w+")
#[1] 3

或将所有非定界符替换为空白,使用nchar获得字符数,加1(因为定界符比单词数少1)

nchar(gsub("[^,]+", "", group.name)) + 1
#[1] 3

或使用regexpr

lengths(gregexpr("\\w+", group.name))
#[1] 3

它可以变成一个功能

f1 <- function(stringObj){

  nchar(gsub("[^,]+", "", stringObj)) + 1
 }

f1(group.name)
#[1] 3

答案 1 :(得分:0)

group.name是一个字符串。我认为您正在计算每个用逗号分隔的单词,您可以通过在逗号上分开然后算出length

length(strsplit(group.name, ",")[[1]])
#[1] 3