關於python中strip方法的理解

2022-02-23 13:58:50 字數 1114 閱讀 3858

1.strip方法並不是去除對稱字串的。

比如a="123abcd321"

a.strip()方法的結果是abcd

有人可能就把strip方法理解成了「可以去除字串兩端對稱字元」的一種方法。這麼理解是錯誤的。

2.strip方法既可以去除字串左側的字元也可以去除字串右側的字元,也可以兩端同時去除。

a="123abcd"

a.strip(「123」)的結果是abcd

b="abcd123"

b.strip("123")的結果是abcd

strip方法的結果其實是先執行lstrip方法再執行rstrip方法,為了語義清楚,你如果要去除字串右側的字元,最好用rstip,左側的就用lstrip

3.strip方法並不是匹配子串來刪除字串的

如果是匹配子串的,那麼就無法解釋下面的結果

a="123abcd"

a.strip("1234")的結果是abcd

4.strip方法真正的執行流程是這樣的:把strip中的引數拆分成乙個個的字元,先執行lstrip方法,從字串的左側找起,如果有字元是strip引數中的任意乙個字元,那麼就從字串中刪除掉這個字元直到找到乙個字元,這個字元不屬於strip引數中的任意乙個字元。再執行strip方法,從字串的右側找起,如果有字元是strip引數中的任意乙個字元,那麼就從字串中刪除掉這個字元直到找到乙個字元,這個字元不屬於strip引數中的任意乙個字元。

b="ccfffoffc_ahfdof.cof"

b.strip(".cof")

這個例子,先執行lstrip的方法的結果是_ahfdof.cof

在_ahfdof.cof的基礎上執行rstrip方法

結果是_ahfd

最後在網上找到乙個題目,對於理解strip方法很有用處

a="movies.csv"

a.strip(".csv")

的結果是什麼?

預期的結果是movies

但實際上結果是movie

你能理解了嗎?

所以不要用strip方法來獲取檔名,有坑啊!

python中 strip 的使用

恰好這兩天用到這個函式,看到網上的介紹都比較簡略,而且表述也不太對。自己試了試,對它有了更深刻的理解。簡介 strip 函式可以移除字串中指定的字元,像這樣 a n t1339jfsiao n t a.strip 1339jfsiao 可以看到當我們不設定strip的引數的時候,預設下該函式刪除了字...

python中strip的用法

python中strip用於移除字串頭尾指定的字元 預設為空格或換行符 或字串行。注意 該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。如下 a i am a student print a.strip i 去除開始的 i am a student print a.strip i tn 去...

python中的strip 函式

python 字串 python strip 方法用於移除字串頭尾指定的字元 預設為空格 strip 方法語法 str.strip chars 返回移除字串頭尾指定的字元生成的新字串。以下例項展示了strip 函式的使用方法 usr bin pythonstr 0000000this is stri...