使用python删除尾随空格

Mys*_*din 2 python regex python-2.7

我有一个脚本循环遍历python中的几个搜索/替换正则表达式,其中一个操作是删除我尝试过的尾随空格:

re.sub(r"""\s+$""", '', str)

re.sub(r""" +$""", r"""""", str)
Run Code Online (Sandbox Code Playgroud)

re.sub(r""" +$""", r"""""", str, re.M)
Run Code Online (Sandbox Code Playgroud)

我发现几个答案只是建议使用strip我的问题是我想在正则表达式替换机制中集成它.

Mar*_*der 6

该函数是sub并将目标字符串作为参数(并返回修改后的副本):

str = re.sub(r'\s+$', '', str)
Run Code Online (Sandbox Code Playgroud)

或者如果要从单个字符串中的多行中删除尾随空格,请使用以下方法之一:

str = re.sub(r'\s+$', '', str, 0, re.M)
str = re.sub(r'\s+$', '', str, flags=re.M)
Run Code Online (Sandbox Code Playgroud)

0count参数(其中0表示没有限制),然后re.M使$比赛在行结尾.如果未flags明确指定,则需要该附加参数,因为flags实际上是第五个参数.

请注意,您只需要多行字符串的三重引号.重要的是r模式.

或者,rstrip用于删除尾随空格:

str = str.rstrip()
Run Code Online (Sandbox Code Playgroud)

  • rstrip+1,绝对是正确的选择。你知道这两者的表现如何吗? (2认同)