我是
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