gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 02:32:13 24 4
gpt4 key购买 nike

我有一个可变文本(在 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*)', '', ' a\n b\n', re.MULTILINE)
a
b

使用关键字参数 flags

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

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

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

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

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

关于python - 正则表达式在 python 中不起作用。删除每行开头的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19519860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com