わかりましたので、私はこの文字列を持っています
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
編集:スペースを含む1つのデータに気づきませんでした。データの1つの「列」の開始位置と終了位置を明確にする必要があるだけで、正規表現を引き続き使用できます。
それがあなたが探しているものである場合、これはデータの正確な一致です(ただし、「他のデータ」が変更された場合、このステートメントはあまり役に立たないと考えるより良い方法があります..)
(\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"]