我想从\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'
答案 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')
根据您在上面描述的症状,我几乎是肯定的。