可以使用正则表达式和gsub方法来实现: ```ruby str = "abc123,456.789" str.gsub(/[^0-9,.]/, '') # 输出 "123,456.789" ``` 这里的正则表达式`/[^0-9,.]/`表示匹配除了数字、逗号和句点之外的所有字符,然后使用gsub方法将其替换为空字符串。