微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检查Ruby中的字符串是否只包含正数

我是 ruby的新手,想知道是否可以使用 regex或其他功能检查字符串是否只包含正数?
str = "123abcd"  #return false because it contains alphabets
str = "153"      #return true because of all numbers

解决方法

当然Regexp对此有好处:
string = "123abcd"
/^(?<num>\d+)$/ =~ string
num # => nil

string = "123"
/^(?<num>\d+)$/ =~ string
num # => '123' # String

所以如果你需要检查条件:

if /^(?<num>\d+)$/ =~ string
   num.to_i # => 123
   # do something...
end

#to_i String的方法对你的情况无效,因为它会返回一个数字,如果字符串是偶数字母:

string = "123abcd"
string.to_i # 123

原文地址:https://www.jb51.cc/ruby/269387.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐