Em có hai string
a = 'C:\\Users\\Admin\\Desktop\\myscript'
và
b = 'C:\\Users\\Admin\\Desktop'
và khi em
a.lstrip(b)
thì kết quả em nhận được đó là 'yscript'
Em vẫn chưa hiểu làm sao mà nó lấy mất char m
của em trong khi chuỗi b
không có đoạn nào là \\m
cả?
Thắc mắc về strip trong Python
lstrip
Return a copy of the string with leading characters removed. If chars is omitted or None, whitespace characters are removed. If given and not None, chars must be a string; the characters in the string will be stripped from the beginning of the string this method is called on.
b như trên có thể gom gọn thành
b = 'ACDUserdinktopm\\:'
Làm sao ra được chuỗi đó ạ?
Cái tham số truyền vào hàm strip là các ký tự mình muốn strip.
Nên mình chỉ đơn giản bỏ mấy ký tự dư rồi sắp xếp lại hoa thường thôi :v
e đang không rõ cái quy luật sắp xếp cho lắm?
Ko ko, thật ra ko cần sắp xếp
Mình làm vậy cho dễ nhìn hơn tí thôi.
Do phần chữ thường rỗi quá nên mình lười xếp lại theo tăng dần (sr, lúc đó mình lười code)
Nếu có tâm sẽ ntn:
b = 'ACDUdeikmnoprst\\:'
vậy thì lí do làm răng mà nó làm mất string \\m
của e vậy?
Như nói ở trên, nó đọc chuỗi b, xem chuỗi b có ký tự nào thì nó sẽ strip ký tự đó tới khi nó gặp ký tự không phải nằm trong chuỗi b.
Chuỗi b có ký tự m và \-> strip m và \
vậy đồng nghĩa với việc nếu chuỗi b có tất cả những letters thì khi strip thì chuỗi a luôn luôn là rỗng?
Đúng rồi đó
import string
a.lstrip(string.printable);
-> ''
Em cám ơn …đủ 20 chars