我可以去除NUMERICS而不是字母字符:如何使用文字strip()函數?
>>> text
'132abcd13232111'
>>> text.strip('123')
'abcd'
爲什麼下面不工作?
>>> text.strip('abcd')
'132abcd13232111'
我可以去除NUMERICS而不是字母字符:如何使用文字strip()函數?
>>> text
'132abcd13232111'
>>> text.strip('123')
'abcd'
爲什麼下面不工作?
>>> text.strip('abcd')
'132abcd13232111'
原因很簡單,並表示在documentation of strip
:
str.strip([chars])
Return a copy of the string with the leading and trailing characters removed.
The chars argument is a string specifying the set of characters to be removed.
'abcd'
既不領先,也不所以它是不可剝離的字符串'132abcd13232111'
在尾隨。
@nfnneil因爲字符串開頭和結尾的數字都與作爲參數提供給'strip'的字符組匹配。 –
只是幾個例子添加到Jim's answer,根據.strip()
文檔:
所以,如果它是一個數字或沒有,因爲你預期你的第二個代碼沒有工作的主要原因沒關係,是因爲「ABCD」一詞位於字符串中間。
例1:
s = '132abcd13232111'
print(s.strip('123'))
print(s.strip('abcd'))
輸出:
abcd
132abcd13232111
例2:
t = 'abcd12312313abcd'
print(t.strip('123'))
print(t.strip('abcd'))
輸出:
abcd12312313abcd
12312313
非常非常清楚的例子。謝謝。 – Vic
請不要問,很容易被[閱讀文檔]解決問題(https://docs.python.org/3/library/stdtypes.html#字符串的方法)。預計你會做一些研究,並且查看一些你不明白的方法的文檔是*最低*。使用StackOverflow應該是最後的手段。 –
我的不好。我瀏覽了文檔,因此我甚至跳過了提及前導/尾隨字符的部分。我會聽從你的建議。謝謝。 – Vic