遵循某种公认的模式,删除字符串最后一位的最佳方法是什么?例如:
s = 'some Strings-and-stuff - SomeOther Strings-and-stuff - TAke.THis last -part away.txt'
将返回:
'some Strings-and-stuff - SomeOther Strings-and-stuff'
当由某个查找模式 ' -
' 并在最后一个字符串出现后删除最后一个字符串的函数进行操作' - '
时。
编辑:给出的答案是:
new_string = ' - '.join(s.split(' - ')[0:-1])
我尝试过的其他事情:
>>> re.sub(r'(.*) - ', '', s[::-1])[::-1]
'some Strings-and-stuff'
使用建议的.split()
功能,我可以通过以下方式获得输出:
>>> p = s.split(' - ')
>>> p.pop()
'TAke.THis last -part away.txt'
>>> ' - '.join(p)
'some Strings-and-stuff - SomeOther Strings-and-stuff'
它有效,但另一个建议的答案是摆脱非一个衬里pop()
或del
功能的更好方法。