finding a range of lines from a text document

A

Adam Akhtar

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.
 
R

Rodrigo Bermejo

Adam said:
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.
 
R

Rodrigo Bermejo

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

Adam Akhtar

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!
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,733
Messages
2,569,439
Members
44,829
Latest member
PIXThurman

Latest Threads

Top