如果只想从开头和结尾删除字符,则可以使用该
string.strip()方法。这将给出如下代码:
>>> s1 = '== foo bar =='>>> s1.strip('=')' foo bar '>>> s2 = '* foo bar'>>> s2.lstrip('*')' foo bar'
该
strip方法从字符串的开头和结尾
ltrip删除参数中给定的字符,仅从开头
rstrip删除它们,仅从结尾删除它们。
如果您真的想使用正则表达式,则它们将如下所示:
clean = re.sub(r'(^={2,})|(={2,}$)', '', clean)clean = re.sub(r'^*+', '', clean)
但是恕我直言,使用
strip/
lstrip/
rstrip将是最适合您要执行的 *** 作。
编辑: 在尼克的建议下,这是一个解决方案,可以在一行中完成所有这些 *** 作:
clean = clean.lstrip('*').strip('= ')
(一个普遍的错误是认为这些方法按照在参数中给定的顺序删除字符,实际上,参数只是要删除的一系列字符,无论它们的顺序如何,这就是为什么
.strip('=')会删除每个’=开头和结尾处的’和’‘,而不仅仅是字符串’=’。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)