【问题标题】:How to trim characters in Python?如何在 Python 中修剪字符?
【发布时间】:2011-10-26 14:03:24
【问题描述】:

对 Python 非常陌生,并且有非常简单的问题。我想从字符串中修剪最后 3 个字符。这样做的有效方法是什么?

示例 I am going 变为 I am go

【问题讨论】:

    标签: python string subscript


    【解决方案1】:

    使用string slicing

    >>> x = 'I am going'
    >>> x[:-3]
    'I am go'
    

    【讨论】:

      【解决方案2】:

      你可以使用new_str = old_str[:-3],即从头到尾三个字符。

      【讨论】:

      • 更一般地,字符串和列表上的负索引指的是序列的结尾,例如,string[-1] 是最后一个字符。
      【解决方案3】:

      您可以在字符串名称后添加 [:-3]。这将为您提供一个字符串,其中包含从开始到最后一个字符的第三个字符。或者,如果您想删除前 3 个字符,您可以使用 [3:]。同样,[3:-3] 会给你一个字符串,其中前 3 个字符被删除,最后 3 个字符被删除。

      【讨论】:

        【解决方案4】:

        如果只是字符数,切片听起来是最合适的用例;但是,如果您知道要从字符串中修剪的实际字符串,则可以执行 rstrip

        x = 'I am going'
        >>> x.rstrip('ing')
        'I am go'
        >>> x.rstrip('noMatch')
        'I am going'
        

        更新

        抱歉误导,但这些示例具有误导性,rstrip 的参数不是作为有序字符串处理,而是作为无序字符集处理。

        所有这些都是等价的

        >>> x.rstrip('ing')
        'I am go'
        >>> x.rstrip('gni')
        'I am go'
        >>> x.rstrip('ngi')
        'I am go'
        >>> x.rstrip('nig')
        'I am go'
        >>> x.rstrip('gin')
        'I am go'
        

        更新 2

        如果在寻求后缀和前缀剥离之后,现在有专门的内置支持来支持这些操作。 https://www.python.org/dev/peps/pep-0616/#remove-multiple-copies-of-a-prefix

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-08-10
          • 1970-01-01
          • 1970-01-01
          • 2022-01-01
          • 1970-01-01
          • 2022-06-22
          • 1970-01-01
          相关资源
          最近更新 更多