如何清理R语言字符向量中下划线分隔字符串的多余空格
R语言下划线两侧空白清理方案
你可以通过正则表达式匹配并替换下划线两侧的空白字符实现格式统一:
Base R 实现(无需额外安装包)
# 原始数据 data <- c("A_B", "A_C", "A _D", "D_ C", "C _C", "D_ D") # 替换所有下划线前后的任意空白 data <- gsub(pattern = "\\s*_\\s*", replacement = "_", x = data)
运行后输出的data结果为:c("A_B", "A_C", "A_D", "D_C", "C_C", "D_D")
stringr 实现(tidyverse生态用法)
如果你习惯使用tidyverse体系的函数,可以用stringr::str_replace_all实现相同效果:
library(stringr) data <- c("A_B", "A_C", "A _D", "D_ C", "C _C", "D_ D") data <- str_replace_all(data, "\\s*_\\s*", "_")
正则说明
\\s*_\\s*中:
\\s*匹配0个或多个空白字符(含空格、制表符等)- 整体规则会匹配下划线两侧所有存在的空白,统一替换为无空白的下划线,不管单侧还是双侧有空格、有几个空格都可正常处理。
内容的提问来源于stack exchange,提问作者adR
相关产品推荐
相关产品推荐

