Matching a string up to a word

Bengt Richter bokr at oz.net
Thu Sep 5 00:51:44 EDT 2002


On Wed, 04 Sep 2002 22:31:46 -0400, Peter Hansen <peter at engcorp.com> wrote:

>Dag wrote:
>> In article <3d75ffaa$1 at news.sentex.net>, Peter Hansen wrote:
>> 
>>>Can you instead guarantee the format of the date that follows the 
>>>filename?  Will it always consist of the day of the week, the month,
>>>the date, and the year?  That would turn this into a relatively
>>>simple problem.
>> 
>> Yes I can guarentee the last four fields be in that date format.  
>> Actually I think that solved it.  I'll split on whitespaces into
>> an array, and remove the first and last four fields, and then join
>> whatever's left.  That should do it.  I was stuck thinking how to 
>> parse it left to right.  
>
>I was thinking of something like that.  This should do it then:
>
>   filename = ' '.join(field.split(' ')[1:-4])
>
>That is, provided you never expect to see more than one consecutive
>space in your filenames...
Why should that hurt, if the head and tail items are consistently separated
by single spaces?

 >>> line = '12345 /some  weird/path with multiple-    -spaces Wed Sep 4 2002.'
 >>> line.split(' ')
 ['12345', '/some', '', 'weird/path', 'with', 'multiple-', '', '', '', '-spaces', 'Wed', 'Sep', '4', '2002.']
 >>> line.split(' ')[1:-4]
 ['/some', '', 'weird/path', 'with', 'multiple-', '', '', '', '-spaces']
 >>> ' '.join(line.split(' ')[1:-4])
 '/some  weird/path with multiple-    -spaces'

Regards,
Bengt Richter



More information about the Python-list mailing list