R 计算预定义分隔符之间的字数
在我的案例“/”中,计算预定义分隔符之间的字数的最佳方法是什么 数据集:R 计算预定义分隔符之间的字数,r,string,R,String,在我的案例“/”中,计算预定义分隔符之间的字数的最佳方法是什么 数据集: df <- data.frame(v1 = c('A DOG//1//', 'CAT/WHITE///', 'A HORSE/BROWN & BLACK/2//', 'DOG////')) 预期结果如下所示 2只狗和1只狗 两个是猫和白 3匹棕色和黑色的马,2匹
df <- data.frame(v1 = c('A DOG//1//',
'CAT/WHITE///',
'A HORSE/BROWN & BLACK/2//',
'DOG////'))
预期结果如下所示
2只狗和1只狗
两个是猫和白
3匹棕色和黑色的马,2匹
1只狗
谢谢大家! 在一个或多个斜杠处strsplit/+并计数字符串
lengths(strsplit(as.character(df$v1), "/+"))
#[1] 2 2 3 1
在一个或多个斜杠处strsplit/+并计数字符串
lengths(strsplit(as.character(df$v1), "/+"))
#[1] 2 2 3 1
假设您的数据不存在字符串a以/开头或b不以/结尾的情况,那么您可以只计算斜杠块的次数,以获得斜杠之间的块数。因此,以下内容适用于您提供的数据
stringr::str_count(df$v1, "/+")
假设您的数据不存在字符串a以/开头或b不以/结尾的情况,那么您可以只计算斜杠块的次数,以获得斜杠之间的块数。因此,以下内容适用于您提供的数据
stringr::str_count(df$v1, "/+")
使用stringr::str_拆分并计算非空字符串的数量
df <- data.frame(v1 = c('A DOG//1//',
'CAT/WHITE///',
'A HORSE/BROWN & BLACK/2//',
'DOG////'))
sapply(stringr::str_split(df$v1, '/'), function(x) sum(x != ''))
[1] 2 2 3 1
使用stringr::str_拆分并计算非空字符串的数量
df <- data.frame(v1 = c('A DOG//1//',
'CAT/WHITE///',
'A HORSE/BROWN & BLACK/2//',
'DOG////'))
sapply(stringr::str_split(df$v1, '/'), function(x) sum(x != ''))
[1] 2 2 3 1
在base R中,另一个选项是lengthsgregexpr/+,df$v1在base R中,另一个选项是lengthsgregexpr/+,df$v1