红宝石返回分裂成3个部分

时间:2014-02-04 00:56:27

标签: ruby

我需要在ruby中编写方法来检索字符串的前3个字符,接下来的3个字符,最后是字符串的剩余4个字符。 因此,例如,如果数字“2134588967”存储为字符串,那么我需要返回的方法:

“213”

“458”

“8967”

如果字符串少于8个字符,则该方法不应抛出错误。也许只返回零。

有没有办法在没有任何正则表达式的情况下执行此操作?

2 个答案:

答案 0 :(得分:3)

这应该这样做:

def method(str)
  str.length < 8 ? nil : [str[0..2], str[3..5], str[6..10]]
end

答案 1 :(得分:0)

快速而肮脏的方法

split_number("12345678")

def split_number(string)
  return nil if string.length < 8
  puts string[0..2]
  puts string[3..5]
  puts string[6..9]
end