我正在处理一个包含大量条目的文件
2012-07-15 10:16:27 C ?\path\to a filename\ called this file.doc
我想采取这样的一条线并切割由空格分隔的前3个字段。 所以......
var1 = 2012-07-15
var2 = 10:16:27
var3 = c
我已经google了,我似乎无法找到正确的方法。谢谢你的帮助!
答案 0 :(得分:3)
Ruby的String#split
接受限制作为其第二个参数。这将完全符合您的要求:
irb(main):005:0> str = "2012-07-15 10:16:27 C ?\path\to a filename\ called this file.doc"
=> "2012-07-15 10:16:27 C ?path\to a filename called this file.doc"
irb(main):006:0> str.split " ", 4
=> ["2012-07-15", "10:16:27", "C", "?path\to a filename called this file.doc"]
如果需要,可以使用解构将这些转换为局部变量:
one, two, three, rest = str.split " ", 4
答案 1 :(得分:1)
split方法可以满足您的需求:
string = '2012-07-15 10:16:27 C ?\path\to a filename\ called this file.doc'
date, time, drive = string.split