加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式在python中不起作用.在每行的开头删除空格

发布时间:2020-12-14 05:58:29 所属栏目:百科 来源:网络整理
导读:我有一个变量文本(在 Python中),文本应该打印在一个文件中,它有很多可变长度,在大多数行的开头有额外的空格.我想要做的就是删除这些空格.这是我使用的代码. text = re.sub(r'(^s*)',r'',text,re.MULTILINE) 但是只删除了第一行的空白.其他一切都保持不变.谁
我有一个变量文本(在 Python中),文本应该打印在一个文件中,它有很多可变长度,在大多数行的开头有额外的空格.我想要做的就是删除这些空格.这是我使用的代码.

text = re.sub(r'(^s*)',r'',text,re.MULTILINE)

但是只删除了第一行的空白.其他一切都保持不变.谁能告诉我我做错了什么?

非常感谢你.

解决方法

re.sub的第四个参数是替换计数,而不是标志.

re.sub(pattern,repl,string,count=0,flags=0)

>>> re.MULTILINE
8
>>> print re.sub(r'(^s*)','','  an  bn',re.MULTILINE)
a
  b

使用关键字参数标志.

>>> print re.sub(r'(^s*)',flags=re.MULTILINE)
a
b

顺便说一句,你不需要括号:

>>> print re.sub(r'^s*',flags=re.MULTILINE)
a
b

使用str.lstrip,您不需要正则表达式.

>>> print 'n'.join(map(str.lstrip,'   an   bn'.splitlines()))
a
b

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读