How to parse a tab-separated line of text in Ruby?

14,731

I'm not sure I quite understand your question, but if you want to split the lines on tab characters, you can specify that as an argument to split:

line.split("\t").each ...

or you can specify it as a regular expression:

line.split(/\t/).each ...

Each basically just iterates through all the items in an array, and split produces an array from a string.

Share:
14,731
Pontus Ivarsson
Author by

Pontus Ivarsson

Read The F-cking Manual.

Updated on June 16, 2022

Comments

  • Pontus Ivarsson
    Pontus Ivarsson over 1 year

    I find Ruby's each function a bit confusing. If I have a line of text, an each loop will give me every space-delimited word rather than each individual character.

    So what's the best way of retrieving sections of the string which are delimited by a tab character. At the moment I have:

    line.split.each do |word|
    ...
    end
    

    but that is not quite correct.

  • Dmytrii Nagirniak
    Dmytrii Nagirniak almost 12 years
    It's ok for simple cased. But is not that simple. There are number of edge cases when the content comes from external source. The newlines, escape sequences, quotes etc are so different between different apps.