ruby on Rails 递归子字符串

发布于 2025-01-04 10:59:46 字数 245 浏览 1 评论 0原文

我有像这样的字符串(实际上是日期和时间)“20120207080000”

是否有任何选项可以使用任何模式匹配技术或其他技术来分割给定的字符串?

即我需要这样的输出

output = ["2012", "02", "07", "08", "00", "00"]

否则是否可以将给定的字符串转换为日期/时间对象?

红宝石版本:1.8.7

I have the string (actually it's a date and time) like this "20120207080000".

Is there any option to split the given string using any pattern matching technique or anything else?

i.e I need the output like this

output = ["2012", "02", "07", "08", "00", "00"]

Otherwise is it possible to convert the given string into date/time object?.

ruby version: 1.8.7

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

以酷 2025-01-11 10:59:46
"20120207080000".unpack('A4A2A2A2A2A2') #=> ["2012", "02", "07", "08", "00", "00"]
"20120207080000".unpack('A4A2A2A2A2A2') #=> ["2012", "02", "07", "08", "00", "00"]
吻安 2025-01-11 10:59:46

获取如下所示的 DateTime 对象:

require 'date'
DateTime.strptime('20120207080000', '%Y%m%d%H%M%S')

请注意您使用的元素顺序正确。我只是猜测。

Get a DateTime object like this:

require 'date'
DateTime.strptime('20120207080000', '%Y%m%d%H%M%S')

Please take care that you are using the right order of elements. I was just guessing.

半仙 2025-01-11 10:59:46

@steenslag 答案确实是一个很好的答案,尽管您也可以仅使用字符串操作。

str = "20120207080000"
output = [str[0..3], str[4..5], str[6..7], str[8..9], str[10..11], str[12..13]]

结果 :

["2012", "02", "07", "08", "00", "00"]

@steenslag answer is really a good answer although you can also do just using string manipulation .

str = "20120207080000"
output = [str[0..3], str[4..5], str[6..7], str[8..9], str[10..11], str[12..13]]

result :

["2012", "02", "07", "08", "00", "00"]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文