On Thu, 23 Feb 2006 17:41:47 +0000, Martin Franklin <[EMAIL PROTECTED]> wrote:
>Franz Steinhaeusler wrote: >> On Thu, 23 Feb 2006 13:54:50 +0000, Martin Franklin >> <[EMAIL PROTECTED]> wrote: >> >>>>>>> r="erewr \r\nafjdskl " >>>> 'erewr \r\nafjdskl' >>>> >>>> 2) Unix >>>>>>> r="erewr \nafjdskl " >>>> 'erewr\nafjdskl' >>> why not use string methods strip, rstrip and lstrip >>> >> >> because this removes only the last spaces, >>>>> r >> 'erewr \r\nafjdskl ' >>>>> r.rstrip() >> 'erewr \r\nafjdskl' >> >> I want: >> 'erewr\r\nafjdskl' >> >> or for unix line endings >> 'erewr\nafjdskl' >> > > >how about one of these variations > >print 'erewr \r\nafjdskl '.replace(" ", "") >print 'erewr \r\nafjdskl '.strip(" \t") > > Version 1: >>> w='erewr \r\nafjdskl '.replace(" ", "") >>> w 'erewr\r\nafjdskl' >>> w='erewr \nafjdskl '.replace(" ", "") >>> w 'erewr\nafjdskl' >>> w='word1 word2 \nafjdskl '.replace(" ", "") >>> w 'word1word2\nafjdskl' >>> it replaces all spaces, not only the trailing whitespaces. version 2: >>> w = 'erewr \r\nafjdskl '.strip(" \t") >>> w 'erewr \r\nafjdskl' >>> w = 'erewr \nafjdskl '.strip(" \t") >>> w 'erewr \nafjdskl' >>> w = 'word1 word2 \nafjdskl '.strip(" \t") >>> w 'word1 word2 \nafjdskl' >>> I found a solution (not the most beautiful, but for my purpose sufficiently good.) Given: a file has no mixed lineendings, so it is either a dos or unix file (mac line endings not respected). swin="erewr \r\nafjdskl " sunix="erewr \nafjdskl " Dos Line endings (at least on '\r' included)? r is contents of a file: helpchar = '' if r.find('\r') != -1: helpchar = '\r' retrailingwhitespacelf = re.compile('(?<=\S)[ \t'+helpchar+']+$', re.MULTILINE) newtext, n = retrailingwhitespace.subn(helpchar, r) if n > 1: r = newtext -- Franz Steinhaeusler -- http://mail.python.org/mailman/listinfo/python-list