如何将字符串转换为数组拆分并检查最后一个值是否为整数?

时间:2015-07-04 10:47:36

标签: ruby string

如何将"flay1"转换为["f","l","a","y","1"]之类的数组,并且它应该返回true,因为最后一个值包含1

2 个答案:

答案 0 :(得分:1)

input.match(/\d$/)

正则表达式匹配,如果字符串以数字结尾,如果不是,则返回nil。使用原始值而不是必要将它们转换为truefalse是ruby中的一种习惯用法。 nilfalse是唯一的假值。

if input.match(/\d$/)
  # do something...
end

如果你真的需要布尔结果,你可以加倍否定:

!!input.match(/\d$/)

答案 1 :(得分:0)

我不确定你为什么要这样做。但是您可以将字符串拆分为各个部分,并尝试将最后一个元素转换为整数。但这不是一个非常易读的代码,而且这只是为了表明你可以在需要的时候完成工作。

AND

示例:

WHERE
    DVCPORTmc1_SENSOR_Program_name LIKE 'mesh-Cu_%' 
    OR
    DVCPORTmc1_SENSOR_Program_name LIKE 'mesh-Water'

如果您愿意接受整数作为真值,则可以使用双重否定。这样就可以返回一个整数,可以将其视为true或false。

def last_char_is_int?(input)
  !!Integer(input.chars.last)
rescue ArgumentError
  false
end

如果元素无法转换为整数,则会发生参数错误。