如何修剪Python中的字符?

Amy*_*y W 3 python string subscript

对Python来说很新,并且有一个非常简单的问题.我想修剪字符串中的最后3个字符.这样做的有效方法是什么?

例子 I am going变成了I am go

Cyd*_*ia7 10

你可以使用new_str = old_str[:-3],这意味着在结束前从头到尾都是三个字符.


jxr*_*mos 7

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

x = 'I am going'
>>> x.rstrip('ing')
'I am go'
>>> x.rstrip('noMatch')
'I am going'
Run Code Online (Sandbox Code Playgroud)

更新

抱歉造成误导,但这些示例具有误导性, 的参数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'
Run Code Online (Sandbox Code Playgroud)

更新2

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


Mat*_*all 3

使用字符串切片

>>> x = 'I am going'
>>> x[:-3]
'I am go'
Run Code Online (Sandbox Code Playgroud)