对 Python 非常陌生,并且有非常简单的问题。我想从字符串中修剪最后 3 个字符。这样做的有效方法是什么?
示例 I am going
变为I am go
您可以使用new_str = old_str[:-3]
, 表示从开头到结尾之前的三个字符。
如果只是字符数,那么切片听起来像是您所追求的最合适的用例;但是,如果您知道要从字符串中修剪的实际字符串,则可以执行rstrip
x = 'I am going'
>>> x.rstrip('ing')
'I am go'
>>> x.rstrip('noMatch')
'I am going'
更新
很抱歉误导,但这些示例具有误导性,参数 torstrip
不是作为有序字符串处理,而是作为无序字符集处理。
所有这些都是等价的
>>> 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
使用字符串切片。
>>> x = 'I am going'
>>> x[:-3]
'I am go'
您可以在字符串名称后添加 [:-3]。这将为您提供一个字符串,其中包含从开始到最后一个字符的第三个字符。或者,如果您想删除前 3 个字符,您可以使用 [3:]。同样, [3:-3] 会给你一个字符串,其中前 3 个字符被删除,最后 3 个字符被删除。