On Fri, 10 Feb 2006 15:21:58 -0800, S Borg wrote: > Hello, > > If I have a string, what is the strongest way to assure the > removal of any line break characters?
What do you mean "strongest"? Fastest, most memory efficient, least lines of code, most lines of code, least bugs, or just a vague "best"? > Line break characters must always be the last character in a line, Must they? Are you sure? What happens if the file you are reading from doesn't end with a blank line? > so would this: str = linestring[:-1] > work? Using the name of a built-in function (like str) is called shadowing. It is a BAD idea. Once you do that, your code can no longer call the built-in function. s = line[:-1] will work if you absolutely know for sure the line ends with a newline. This would be safer, if you aren't sure: if line[-1] == '\n': s = line[:-1] else: s = line but that assumes that line is a non-empty string. If you aren't sure about that either, this is safer still: if line and line[-1] == '\n': s = line[:-1] else: s = line If you want to clear all whitespace from the end of the line, not just newline, this is better still because you don't have to do any tests: s = line.rstrip() There is also a lstrip to strip leading whitespace, and strip() to strip both leading and trailing whitespace. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list