130

我很难尝试使用.strip以下代码行:

f.write(re.split("Tech ID:|Name:|Account #:",line)[-1])
4

4 回答 4

270

您可以使用该strip()方法删除尾随和前导空格:

>>> s = '   abd cde   '
>>> s.strip()
'abd cde'

注意:保留内部空间。

于 2012-05-04T06:10:06.910 回答
5

将您的一个班轮扩展到多行。然后就变得容易了:

f.write(re.split("Tech ID:|Name:|Account #:",line)[-1])

parts = re.split("Tech ID:|Name:|Account #:",line)
wanted_part = parts[-1]
wanted_part_stripped = wanted_part.strip()
f.write(wanted_part_stripped)
于 2012-05-04T06:03:48.313 回答
3

应该注意,该strip()方法将从字符串中修剪任何前导和尾随空白字符(如果没有传入参数)。如果您想修剪空格字符,同时保留其他字符(如换行符),这个答案可能会有所帮助:

sample = '  some string\n'
sample_modified = sample.strip(' ')

print(sample_modified)  # will print 'some string\n'

strip([chars]):您可以将可选字符传递给strip([chars])方法。Python 将查找这些字符的出现并相应地修剪给定的字符串。

于 2019-08-05T18:42:59.743 回答
1

起始文件:

     line 1
   line 2
line 3  
      line 4 

代码:

with open("filename.txt", "r") as f:
    lines = f.readlines()
    for line in lines:
        stripped = line.strip()
        print(stripped)

输出:

line 1
line 2
line 3
line 4
于 2020-04-11T02:20:35.707 回答