如何从R语言字符串向量中仅保留数字与小数点?
保留R语言字符串向量中的数字与小数点
给定字符串向量:
x <- c("3 333.33!", "1 002 22??", "232.23x")
可以通过正则表达式结合gsub()函数实现仅保留数字和小数点的需求:
- 核心思路:匹配所有非数字、非小数点的字符,将其替换为空字符串
- 正则表达式
[^0-9.]表示"匹配除0-9数字和小数点之外的任意字符"
具体代码:
x <- c("3 333.33!", "1 002 22??", "232.23x") # 清理字符串,仅保留数字和小数点 cleaned_x <- gsub("[^0-9.]", "", x) # 查看结果 cleaned_x
运行后输出:
[1] "3333.33" "100222" "232.23"
可选:处理多小数点场景
如果原字符串存在多个小数点(比如"12.34.56"),可以额外用正则表达式保留第一个小数点,移除后续的:
# 移除第一个小数点后的所有小数点 cleaned_single_dot <- gsub("\\.(?=.*\\.)", "", cleaned_x, perl = TRUE)
内容的提问来源于stack exchange,提问作者DD chen
相关产品推荐
相关产品推荐

