我需要转换一些字符串,并拉出两个第一个整数,例如:
unkowntext60moreunknowntext25something
要:
@width = 60
@height = 25
如果我string.to_i
,我得到第一个整数:,60。我无法弄清楚我是如何得到第二个整数,25。任何想法?
答案 0 :(得分:12)
如下:
text = "unkowntext60moreunknowntext25something"
@width, @height = text.scan(/\d+/).map { |n| n.to_i } #=> 60, 25
答案 1 :(得分:4)
@width, @height = "unkowntext60moreunknowntext25something".scan(/[0-9]+/)
答案 2 :(得分:2)
您可以使用像(\d+)
这样的正则表达式捕获字符串中的所有数字,然后迭代捕获组,将每个数字转换为整数。
编辑:我不认识Ruby,所以我维基这个答案,希望Rubyist能够充实代码示例。