Python:无法删除\ n

时间:2012-11-05 22:08:01

标签: python strip

我想从\n这样的起始行中删除\n id int(10) NOT NULL。我尝试了strip()rstrip()lstrip() replace('\n', '')。我不明白。我做错了什么?

print(column)
print(column.__class__)
x = column.rstrip('\n')
print(x)
x = column.lstrip('\n')
print(x)            
x = column.strip('\n')          
print(x)
print(repr(column))

给出

\n  id int(10) NOT NULL
<type 'str'>
\n  id int(10) NOT NULL
\n  id int(10) NOT NULL
\n  id int(10) NOT NULL
\n  id int(10) NOT NULL
'\\n  `id` int(10) NOT NULL'

1 个答案:

答案 0 :(得分:8)

您确定\n是换行符而不是文字\后跟文字n吗?在这种情况下,您需要:

s = r'\nthis is a string'
s = s.strip()
print s
s = s.strip(r'\n')
print s

可能更好的方法是在剥离之前检查它是否以\n开头,然后使用切片:

if s.startswith(r'\n'): s = s[2:]

或更强大,re.sub

re.sub(r'^(?:\\n)+','',r'\n\nfoobar')

根据您在上面描述的症状,我几乎是肯定的。