删除字符串末尾的空格但保留换行符 [英] Remove Space at end of String but keep new line symbol

查看:30
本文介绍了删除字符串末尾的空格但保留换行符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何检查 Python 字符串在任何时候是否有换行前的单个空格?如果是这样,我必须删除该单个空格,但保留新行符号.这可能吗?

解决方案

def remspace(my_str):如果 len(my_str) <2: # 返回 ' ' 不变返回 my_str如果 my_str[-1] == '\n':如果 my_str[-2] == ' ':返回 my_str[:-2] + '\n'如果 my_str[-1] == ' ':返回 my_str[:-1]返回 my_str

结果:

<预><代码>>>>remspace('a b c')'a b c'>>>remspace('ab c')'a b c'>>>remspace('a b c\n')'a b c\n'>>>remspace('a b c \n')'a b c\n'>>>remspace('')''>>>remspace('\n')'\n'>>>remspace('\n')'\n'>>>remspace(' ')' '>>>remspace('我')'一世'

How can I check if a Python string at any point has a single space before new line? And if it does, I have to remove that single space, but keep the new line symbol. Is this possible?

解决方案

def remspace(my_str):
    if len(my_str) < 2: # returns ' ' unchanged
        return my_str
    if my_str[-1] == '\n':
        if my_str[-2] == ' ':
            return my_str[:-2] + '\n'
    if my_str[-1] == ' ':
        return my_str[:-1]
    return my_str

Results:

>>> remspace('a b c')
'a b c'
>>> remspace('a b c ')
'a b c'
>>> remspace('a b c\n')
'a b c\n'
>>> remspace('a b c \n')
'a b c\n'
>>> remspace('')
''
>>> remspace('\n')
'\n'
>>> remspace(' \n')
'\n'
>>> remspace(' ')
' '
>>> remspace('I')
'I'

这篇关于删除字符串末尾的空格但保留换行符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆