刪除某個字符串的最後一位,遵循某種可識別的模式的最佳方法是什麼? 例如:替換模式後的字符串的最後一部分
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
函數。
斯普利特「 - 「,刪除最後一塊,並解決其餘的問題。 – HamZa 2013-05-06 18:25:51
字符串的初始部分如何識別? – Ewan 2013-05-06 18:26:46
他實際上希望連字符後面的兩個部分被刪除。 @chase我想你必須提供你想要刪除的模式,以便爲此建議一個正則表達式。 – 2013-05-06 18:32:41