如何在R中仅移除数字间空格而保留字符串空格?
R语言移除数字间空格的实现方法
可以通过正则表达式结合gsub()函数实现,核心思路是仅匹配数字与数字之间的空格并将其替换为空,同时保留数字与非数字之间的空格。
具体代码示例
# 定义目标字符串 x <- "Hello 111 222 333 World!" # 执行替换操作 result <- gsub("(?<=\\d)\\s+(?=\\d)", "", x, perl = TRUE) # 输出结果 print(result) # [1] "Hello 111222333 World!"
正则表达式说明
(?<=\\d):正向零宽断言,确保当前位置前面是数字(不会捕获这个数字,仅做位置判断)\\s+:匹配一个或多个连续的空格(?=\\d):正向零宽断言,确保当前位置后面是数字(同样仅做位置判断)perl = TRUE:开启Perl风格正则支持,让零宽断言生效
这种方法可以处理任意多组连续数字间的空格,也支持多个空格的场景(比如"12 34 56"会被转为"123456"),同时完全保留非数字与数字、非数字之间的空格。
内容的提问来源于stack exchange,提问作者Soph2010
相关产品推荐
相关产品推荐

