好的,所以我有这个字符串
Something 06/15/2009 some other data 33 77
我想像这样分开
Something
06/15/2009
some other data
33
77
任何想法都是一种干净的方法来做到这一点
好的,所以我有这个字符串
Something 06/15/2009 some other data 33 77
我想像这样分开
Something
06/15/2009
some other data
33
77
任何想法都是一种干净的方法来做到这一点
我会使用正则表达式(或用空格分割它?)。
这是一个为您拆分的快速正则表达式
([a-zA-Z0-9\/]*\s)
http://rubular.com/r/qWVj3yr3aw
编辑:没有注意到带有空格的一条数据。您仍然可以使用正则表达式,您只需要澄清一个“列”数据的开始和结束位置。
如果这就是您要查找的数据,这是数据的完全匹配(尽管有更好的方法考虑到如果“其他数据”发生更改,则此语句不是很有用..)
(\w+)\s([\w\/]+)\s(some other data)\s\s(\d*)\s(\d*)
你可以试试:
/(.+?)\s+(\d+\/\d+\/\d+)\s+(.+?)\s+(\d+)\s+(\d+)/
至少给出你想要的例子。
更新:
让 .+ 部分变得贪婪可能会更好:
/(.+)\s+(\d+\/\d+\/\d+)\s+(.+)\s+(\d+)\s+(\d+)/
这样,“某事”或“其他一些数据”可以包括日期和数字。
一种简单的方法是some_string.split(" ")
,获取子字符串的数组。
"Something 06/15/2009 some other data 33 77".split(" ")
=> ["Something", "06/15/2009", "some", "other", "data", "33", "77"]