如何检查字符串是否包含给定的字符串变量?

时间:2018-01-04 14:21:05

标签: ruby string variables include

我正在编写一种方法来检查数字是否包含给定范围内的数字。

我在两个给定索引之间得到了字符串形式的数字。我现在只需要检查它是否包含给定的数字。

假设数字是传递给方法时的整数 为什么digit.to_s然后number.include?(digit)无效?

由于

3 个答案:

答案 0 :(得分:1)

你应该试试这个

number.include?(digit.to_s)

您没有将数字转换为字符串。

希望这能解决你的问题。

答案 1 :(得分:0)

您不需要对String进行任何转换。

这是一种没有的方法:

def digits_in_range(int, range)
  int.digits & range.to_a
end

这使用set intersection(&)来确定是否有任何数字在该范围内。它返回交集:

digits_in_range(12345, 4..9) #=> [4, 5]

如果您只想要一个布尔truefalse

digits_in_range(12345, 5..9).any? #=> true
digits_in_range(32645, 7..9).any? #=> false

答案 2 :(得分:0)

检查给定范围内的字符串编号'2343434'(例如0..2)是否包含数字2

'2343434'[0..2].match?(/#{2}/) #=> true

假设您传入一个数字因此插值(或者您可以使用to_s代替)。