lstrip方法用來去除字符串從首位開始與之相匹配的字符。例如:
a = 'c' b = 'calendar' print(b.lstrip(a))
輸出結果是 'alendar'。
之前我也一直是這樣用的,把它看成是去除匹配的“字符串”。那么問題來了,今天在處理字符串時,用lstrip總是會多砍掉字符,代碼如下:
a = 'c:/svncode' b = 'c:/svncode/calendar' print(b.lstrip(a))
我預期的輸出結果是'/calendar',可是實際的輸出結果是'alendar'……於是我陷入了沉思…終於找到了原因!lstrip方法只是比對字符並去除,而不是字符串!因此當b使用lstrip剩下'/calendar'的時候,會繼續進行,a中有'/',因此'/calendar'變成'calendar',a中有'c',因此'calendar'變成'alendar'。
如果真是這樣,那么如果 a = ':/svnodec' ,b.lstrip(a)的結果也是'alendar',我試了一下,果真如此!!