finding a range of lines from a text document

Discussion in 'Ruby' started by Adam Akhtar, Jan 9, 2009.

  1. Adam Akhtar

    Adam Akhtar Guest

    Can anyone help me? ill try and keep it short and to the point.

    wish : to be able to grab select lines from a text document which meet
    some criteria.

    current idea: simply read the file as one big string and use a regexp to
    find all text between a /marker_one/ and /marker_two/

    but: in general ill only be ever manipulating a single line at a time so
    simply using readlines to store a file into an array and they
    manipulating that seems a lot easier than storing a file as a string and
    figuring out where one line starts and one line ends.

    file example:

    ### next actions ###

    ### project: buy pc ###
    3 read posts on hardforum
    4 use froogle.com
    3 buy parts
    4 build pc
    5 install os

    ### project: become millionaire ###
    2 get job
    3 save money
    4 start own business
    3 sell business
    3 sell drugs

    ### project: have the biggest collection of pants on earth
    3 learn about pants
    4 become a member of pantsinc.net


    aim: to have a method which will take the top most line of each project
    and copy it into the next actions area. Something easy to read yet
    relatively efficient.

    yes this is yet another todo list. A task will only ever be one line.
    Hence why dealing with an array seems easier.

    If anyone has any tips suggestions etc it will help me out a lot.
    --
    Posted via http://www.ruby-forum.com/.
    Adam Akhtar, Jan 9, 2009
    #1
    1. Advertising

  2. Adam Akhtar wrote:
    > Can anyone help me? ill try and keep it short and to the point.
    >
    > wish : to be able to grab select lines from a text document which meet
    > some criteria.
    >
    > current idea: simply read the file as one big string and use a regexp to
    > find all text between a /marker_one/ and /marker_two/
    >
    > but: in general ill only be ever manipulating a single line at a time so
    > simply using readlines to store a file into an array and they
    > manipulating that seems a lot easier than storing a file as a string and
    > figuring out where one line starts and one line ends.
    >
    > file example:
    >
    > ### next actions ###
    >
    > ### project: buy pc ###
    > 3 read posts on hardforum
    > 4 use froogle.com
    > 3 buy parts
    > 4 build pc
    > 5 install os
    >
    > ### project: become millionaire ###
    > 2 get job
    > 3 save money
    > 4 start own business
    > 3 sell business
    > 3 sell drugs
    >
    > ### project: have the biggest collection of pants on earth
    > 3 learn about pants
    > 4 become a member of pantsinc.net
    >
    >
    > aim: to have a method which will take the top most line of each project
    > and copy it into the next actions area. Something easy to read yet
    > relatively efficient.
    >
    > yes this is yet another todo list. A task will only ever be one line.
    > Hence why dealing with an array seems easier.
    >
    > If anyone has any tips suggestions etc it will help me out a lot.


    This one of the algorithms you will find along the programmer way.
    I am not going to give you the hole solution ..but here is a clue..

    read line by line
    once you find the starting tag turn on a flag
    do whatever you want with the current line if the flag is on
    once you find the ending tag turn off the flag

    -r.
    --
    Posted via http://www.ruby-forum.com/.
    Rodrigo Bermejo, Jan 9, 2009
    #2
    1. Advertising

  3. Rodrigo Bermejo wrote:
    > Adam Akhtar wrote:
    >> Can anyone help me? ill try and keep it short and to the point.
    >>
    >> wish : to be able to grab select lines from a text document which meet
    >> some criteria.
    >>
    >> current idea: simply read the file as one big string and use a regexp to
    >> find all text between a /marker_one/ and /marker_two/
    >>
    >> but: in general ill only be ever manipulating a single line at a time so
    >> simply using readlines to store a file into an array and they
    >> manipulating that seems a lot easier than storing a file as a string and
    >> figuring out where one line starts and one line ends.
    >>
    >> file example:
    >>
    >> ### next actions ###
    >>
    >> ### project: buy pc ###
    >> 3 read posts on hardforum
    >> 4 use froogle.com
    >> 3 buy parts
    >> 4 build pc
    >> 5 install os
    >>
    >> ### project: become millionaire ###
    >> 2 get job
    >> 3 save money
    >> 4 start own business
    >> 3 sell business
    >> 3 sell drugs
    >>
    >> ### project: have the biggest collection of pants on earth
    >> 3 learn about pants
    >> 4 become a member of pantsinc.net
    >>

    >


    a better solution will be to have your project data in a
    "self-descriptive" format like XML (or YAML)

    sooner or later you will have to use XML ..
    it's a good chance for you to learn it and added it to your toolbox

    -r.
    --
    Posted via http://www.ruby-forum.com/.
    Rodrigo Bermejo, Jan 9, 2009
    #3
  4. Adam Akhtar

    Adam Akhtar Guest

    thank you for the algorithm prompt. When i read your suggestion I though
    why didnt i think of that (-perhaps too much red wine at the time).

    Ive heard about xml but dont know much about it. Ill go away and learn
    about it now.

    Thank you very much!

    --
    Posted via http://www.ruby-forum.com/.
    Adam Akhtar, Jan 10, 2009
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Steve Carrow
    Replies:
    0
    Views:
    539
    Steve Carrow
    Jul 28, 2003
  2. Steve Carrow
    Replies:
    0
    Views:
    616
    Steve Carrow
    Jul 28, 2003
  3. Murali
    Replies:
    2
    Views:
    544
    Jerry Coffin
    Mar 9, 2006
  4. it_says_BALLS_on_your forehead

    extract range of lines using range op bug?

    it_says_BALLS_on_your forehead, Mar 3, 2006, in forum: Perl Misc
    Replies:
    3
    Views:
    179
    it_says_BALLS_on_your forehead
    Mar 3, 2006
  5. Amer Neely

    Extract range of lines from a text file

    Amer Neely, Apr 9, 2006, in forum: Perl Misc
    Replies:
    29
    Views:
    359
    Amer Neely
    Apr 10, 2006
Loading...

Share This Page