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

如何在R语言中将字符串内的多个连续空格替换为下划线

你使用的str_replace()函数默认仅替换字符串中匹配到的第一个目标字符,因此多空格场景下仅第一个空格会被替换为下划线,后续空格保持不变。

解决方案

根据你的实际需求二选一即可:

  • 需求1:将每一个空格都单独替换为下划线(如X Y两个连续空格替换后为X__Y)
    直接替换str_replace为支持全量匹配的str_replace_all即可:
    all_data$`Facility Name` <- str_replace_all(all_data$`Facility Name`, pattern = " ", replacement = "_")
    
  • 需求2:将连续的多个空格合并替换为单个下划线(如X Y两个连续空格替换后为X_Y)
    配合正则匹配一个及以上的空格即可:
    # \\s+ 可匹配任意连续空白字符(含空格、制表符等),仅需匹配普通空格可将pattern改为" +"
    all_data$`Facility Name` <- str_replace_all(all_data$`Facility Name`, pattern = "\\s+", replacement = "_")
    

如果你不想依赖stringr包,也可以用Base R的gsub()函数实现同样效果,以需求2为例:

all_data$`Facility Name` <- gsub("\\s+", "_", all_data$`Facility Name`)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:36:00