You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用stringr包函数移除字符向量中的所有空白字符串?

原因说明

str_remove_all()的作用是对向量中每个元素的内容做匹配替换,不会修改向量的总长度,所以只会把全空白元素的内容替换为空字符串,达不到删除元素的效果。

正确实现方法

stringr中有两种常用写法可以实现和原基础函数一致的过滤效果:

  1. 用str_detect()(和基础函数grepl()功能对应)做匹配判定,再取索引筛选:
library(stringr)
b[!str_detect(b, "^\\s+$")]

运行后返回结果和原有代码完全一致:

[1] "books"   "animals" "frogs"
  1. 用更简洁的专用子集提取函数str_subset(),直接指定negate参数排除匹配项:
str_subset(b, "^\\s+$", negate = TRUE)

内容的提问来源于stack exchange,提问作者Ibrahimli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:06:05