Regex quick ? solved, actually, move along

afile = “2007-08-10.152314-0700PDT.txt”

some notes about it, is that the first part before the . is date, and
subject to change, the second I thought was an arbitrary id for logs
of the same day, but it’s a timestamp, and the “-0700PDT.txt” is
always the same per log per day and can be cut out as such. The date,
as well, can be discarded. I’m just looking to isolate, and then
parse, the “152314” in this case.

this is as far as I’ve gotten:
089:0> afile.split(/^\d±\d±\d+./)
["", “152314-0700PDT.txt”]

nevermind I just figured out I could do:
afile.scan(/\d\d\d\d\d\d/)
[“152314”]

having taken the time to formulate the question though I’m just going
to send it because you people are so nice I want to give any little
bit I’ve got. :slight_smile:

Hi –

On Fri, 17 Aug 2007, Simon S. wrote:

089:0> afile.split(/^\d±\d±\d+./)
["", “152314-0700PDT.txt”]

nevermind I just figured out I could do:
afile.scan(/\d\d\d\d\d\d/)
[“152314”]

having taken the time to formulate the question though I’m just going
to send it because you people are so nice I want to give any little
bit I’ve got. :slight_smile:

Thanks. I’ll reciprocate with a small shortcut:

afile.scan(/\d{6}/) # 6 digits

Also, you can hand a regex directly to a string:

afile[/\d{6}/]

which will give you the substring directly (not in an array).

David

2007/8/17, Simon S. [email protected]:

afile = “2007-08-10.152314-0700PDT.txt”

some notes about it, is that the first part before the . is date, and
subject to change, the second I thought was an arbitrary id for logs
of the same day, but it’s a timestamp, and the “-0700PDT.txt” is
always the same per log per day and can be cut out as such.

That bit looks like a time zone offset with the name (“PDT” which is
“Pacific Daylight Savings Time” IIRC).

[“152314”]

having taken the time to formulate the question though I’m just going
to send it because you people are so nice I want to give any little
bit I’ve got. :slight_smile:

If you want to be really sure you parse the name that you expect you can
do

irb(main):001:0> afile = “2007-08-10.152314-0700PDT.txt”
=> “2007-08-10.152314-0700PDT.txt”
irb(main):002:0> afile[/^\d{4}-\d{2}-\d{2}.(\d{6})-\d{4}[A-Z]+.txt$/,
1]
=> “152314”

Kind regards

robert