python lstrip小坑說明

2021-07-30 13:21:41 字數 871 閱讀 9001

假設有乙個字串

a = 「/home/work/ooobcdefg」

現在想要刪掉 「/home/work/」 這一部分

由於 「/home/work」 剛好在字串 a 的最左邊, 所以想到了用 a.lstrip(『/home/work』), 實際執行結果如下:

>>> a = '/home/work/ooobcdefg'

>>> a.lstrip('/home/work/')

'bcdefg'

奇怪的事情發生了, 『work/』 後面的 ooo 三個字元也被刪掉了

後來上官網了解, 才明白 lstrip 實際是按照單個字元來刪除的. 也就是說, 如果你傳給他乙個字串, 那麼它會從左到右挨個檢查變數 a 的字元, 如果在你給的引數內, 則刪除這個字元, 直到出現不符合條件的字元才停止.

話說回來, 如果要實現開頭說的這個需求, 有兩個方法可以實現.

1. a.replace(『/home/work/』, 」)

這個方法存在一定的風險, 因為它會把 a 字串裡所有的 『/home/work』 都給替換成空內容, 也就是刪除. 如果只是自己寫小工具, 對輸入資料有足夠的了解, 也是可以用的.

2. re.sub(『^/home/work』, 」, a)

這個需要用到正規表示式, 並且通過錨定的方法, 精確刪除字串開頭的 『/home/work』, 萬無一失

實驗結果如下:

>>> a.replace('/home/work', '')

'/ooobcdefg'

>>> re.sub('^/home/work', '', a)

'/ooobcdefg'

小bug小坑小總結

1.小程式canvas那些原生元件的層級預設是最高的,而且不能更改,平常的div彈框什麼的上面就會顯示出原生元件的內容,解決辦法 cover view,cover image,button share data item item 分享 用這個data item 後的名字可以隨意起,後面的值如果是字...

Mysql安裝小坑

1.yum安裝後,當你啟動時,發現啟動不起來。檢視日誌發現報錯 can t start server can t create pid file no such file or directory 解決方案 mkdir var log mariadb chown mysql mysql var lo...

小程式 跳坑

關於元件 1.元件中包含定時器,頁面離開定時器的清除 問題 在頁面離開後倒計時仍在繼續 解決 在頁面離開時清除定時器 2.場景 頁面中包含不同tab頁面,各tab頁面模板一致,模板內包含的元件id也一樣,在tab切換時重新整理tab頁內資料。解決 在tab切換時先將舊資料字段清空 3.場景 把lis...