从行首和结尾或仅行尾删除字符

从行首和结尾或仅行尾删除字符,第1张

从行首和结尾或仅行尾删除字符

如果只想从开头和结尾删除字符,则可以使用该

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('=')
会删除每个’=开头和结尾处的’和’‘,而不仅仅是字符串’=’。)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5673844.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存