首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ruby中如何删除所有非数字符号(逗号和破折号除外)

在ruby中如何删除所有非数字符号(逗号和破折号除外)
EN

Stack Overflow用户
提问于 2015-09-30 17:22:36
回答 4查看 1K关注 0票数 2

我遇到了一些艰巨的任务。我有一个字符串,需要解析成数组和其他一些元素。我对REGEXP有麻烦,所以想寻求帮助。

我需要从字符串中删除所有非数字,除了逗号(,)和破折号(-)

例如,

代码语言:javascript
复制
"!1,2e,3,6..-10" => "1,2,3,6-10"
"ffff5-10...." => "5-10"
"1.2,15" => "12,15"

所以就这样。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-09-30 17:29:15

代码语言:javascript
复制
"!1,2e,3,6..-10".gsub(/[^\d,-]+/, '') # => "1,2,3,6-10"
票数 1
EN

Stack Overflow用户

发布于 2015-09-30 17:23:27

代码语言:javascript
复制
[^0-9,-]+

这应该是由you.Replace empty string.See演示完成的。

https://regex101.com/r/vV1wW6/44

票数 4
EN

Stack Overflow用户

发布于 2015-09-30 17:37:56

我们必须至少有一个非正则表达式的解决方案:

代码语言:javascript
复制
def keep_some(str, keepers)
  str.delete(str.delete(keepers))
end

keep_some("!1,2e,3,6..-10", "0123456789,-")
  #=> "1,2,3,6-10" 
keep_some("ffff5-10....", "0123456789,-")
  #=> "5-10"
keep_some("1.2,15", "0123456789,-")
  #=> "12,15"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32872171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档