Tag: substring

最长的循环数字

我试图找到小于1000的数字,当它除以1时产生最长的重复数字串。我有一个十进制数列表,必须找到具有最长重复序列的数字。 这是我到目前为止所拥有的 numbers = [*2..999] decimal_representations = numbers.map { |number| 1.to_f/number } decimal_representations.map!(&:to_s) 我可以使用正则表达式生成三维数组。 Regex /(.+)\1+/产生一系列重复的子串。 我想找到最长的子字符串,所以我使用了enumerable的max_by函数。 decimal_representations.map! { |decimal| decimal.scan(/(.+)\1+/).max_by(&:length) }.flatten 我必须压缩我的数组以删除nil元素 decimal_representations.compact! 然后我可以找出哪个长度最长。 decimal_representations.max_by(&:length) 我得到0090009009 ,但我无法弄清楚哪个数字具有该十进制值,因为我从数组中删除了nil元素。 有任何想法吗?

正则表达式:在url字符串的两个斜杠之间对第二个最后一个值进行子串

我有一个像这样的字符串: http://www.example.com/value/1234/different-value 我该如何提取1234 ? 注意:最后可能有斜杠: http://www.example.com/value/1234/different-value http://www.example.com/value/1234/different-value/