Regexp

  • Thread starter Mikael Björkegren
  • Start date
M

Mikael Björkegren

Hello!

Anyone who can help me with this. If i have a string and want to take
out a sub string of that by regexp.

1. string = "Today is it monday after work. blah blah."
or
2. string2 = "monday morning. Nice day today."

And i would like to get a certain line with the word monday in it.
Like results below.

1. result = "Today is it monday after work"
2. result2 = "monday morning"

Thanks
Svea
 
M

Mark Thomas

Hello!

Anyone who can help me with this. If i have a string and want to take
out a sub string of that by regexp.

 1. string = "Today is it monday after work. blah blah."
or
 2. string2 = "monday morning. Nice day today."

And i would like to get a certain line with the word monday in it.
Like results below.

 1. result = "Today is it monday after work"
 2. result2 = "monday morning"

So you want the sentence, not including the period? What if there is a
preceding sentence?

Try
puts string[/[^.]*[Mm]onday[^.]*/]

-- Mark.
 
C

Clemens Wyss

simple, but for sure not perfect:

/(?:.*?\.)*(.*?monday.*?)\./.match(<your string>)[1]

e.g.:
/(?:.*?\.)*(.*?monday.*?)\./.match('asdasd . asdas dasd .it is monday
morning. hello world')[1]
=> "it is monday morning"


Regards
Clemens
 
M

Mikael Björkegren

Thanks for the fast reply.
Works nice for stripping the last part but not the first.
I get the lines before also.

/(?:.*?\.)*(.*?monday.*?)\./.match('asdasd . asdas dasd .it is monday
morning. hello world')
=> asdasd . asdas dasd .it is monday morning.
e.g.:
/(?:.*?\.)*(.*?monday.*?)\./.match('asdasd . asdas dasd .it is monday
morning. hello world')[1]
=> "it is monday morning"
 
M

Mikael Björkegren

Never mind i forgott [1]
Thanks again
/(?:.*?\.)*(.*?monday.*?)\./.match('asdasd . asdas dasd .it is monday
morning. hello world')
=> asdasd . asdas dasd .it is monday morning.
e.g.:
/(?:.*?\.)*(.*?monday.*?)\./.match('asdasd . asdas dasd .it is monday
morning. hello world')[1]
=> "it is monday morning"
 

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

No members online now.

Forum statistics

Threads
473,990
Messages
2,570,211
Members
46,796
Latest member
SteveBreed

Latest Threads

Top