在R语言中如何仅删除单词之间的空格而保留其他空格不变?
解决方案
你可以用gsub()配合针对性的正则表达式实现需求,逻辑是仅删除「前后均为英文字母的单词间空格」,其余所有空格都会保留:
# 原始字符串 string <- "Hi buddy 3.256.225 25.365.425" # 处理逻辑(仅删除单词间单个空格) result <- gsub("([[:alpha:]]) ([[:alpha:]])", "\\1\\2", string) # 输出验证 print(result) # > [1] "Hibuddy 3.256.225 25.365.425"
扩展说明
[[:alpha:]]匹配所有大小写英文字母,两个括号分别捕获空格前后的字母,替换时直接拼接两个捕获组即可删除中间的对应空格- 默认全局替换,多组相邻单词的空格也会被批量删除,比如
"hello world test"处理后会变成"helloworldtest" - 如果单词之间可能存在多个连续空格需要全部删除,可以调整正则为:
result <- gsub("([[:alpha:]]) +([[:alpha:]])", "\\1\\2", string)
内容的提问来源于stack exchange,提问作者Eduardo Orellana Buigley
相关产品推荐
相关产品推荐

