如何在Python中删除字符串中的前导空格和尾随空格?

例如:

" Hello " --> "Hello"
" Hello"  --> "Hello"
"Hello "  --> "Hello"
"Bob has a cat" --> "Bob has a cat"

推荐答案

只有一个空格还是所有连续的空格?如果是第二个,则字符串已经有一个.strip()方法:

>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> '   Hello   '.strip()  # ALL consecutive spaces at both ends removed
'Hello'

但是,如果您只需要删除一个空格,则可以使用:

def strip_one_space(s):
    if s.endswith(" "): s = s[:-1]
    if s.startswith(" "): s = s[1:]
    return s

>>> strip_one_space("   Hello ")
'  Hello'

此外,请注意,str.strip()也会删除其他空白字符(例如制表符和换行符).要仅删除空格,可以将要删除的字符指定为strip的参数,即:

>>> "  Hello\n".strip(" ")
'Hello\n'

Python相关问答推荐

有没有办法清除气流中的僵尸

ValueRight:参数目标和输出必须具有相同的形状.接收:目标.形状=(无,512),输出.形状=(无,3)

Matplotlib轮廓线值似乎不对劲

Python无法在已导入的目录中看到新模块

如何销毁框架并使其在tkinter中看起来像以前的样子?

有条件地采样我的大型DF的最有效方法

优化在numpy数组中非零值周围创建缓冲区的函数的性能

Pystata:从Python并行运行stata实例

可变参数数量的重载类型(args或kwargs)

如何过滤包含2个指定子字符串的收件箱列名?

将pandas Dataframe转换为3D numpy矩阵

Stacked bar chart from billrame

关于Python异步编程的问题和使用await/await def关键字

为一个组的每个子组绘制,

如何在表中添加重复的列?

让函数调用方程

Django admin Csrf令牌未设置

交替字符串位置的正则表达式

循环浏览每个客户记录,以获取他们来自的第一个/最后一个渠道

为什么Python内存中的列表大小与文档不匹配?