Finding a range of lines from a text document


#1

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.


#2

Adam A. 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.


#3

Rodrigo B. wrote:

Adam A. 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.


#4

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!