为什么str.lstrip会删除额外的字符?

发布于 2021-01-29 17:40:45

path = “/Volumes/Users”
>>> path.lstrip(‘/Volume’)
‘s/Users’
>>> path.lstrip(‘/Volumes’)
‘Users’
>>>

我期望的输出path.lstrip('/Volumes')'/Users'

关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    lstrip
    是基于字符的,它将删除该字符串中左端的所有字符。

    要验证这一点,请尝试以下操作:

    "/Volumes/Users".lstrip("semuloV/")  # also returns "Users"
    

    由于/是字符串的一部分,因此将其删除。

    您需要改用切片:

    if s.startswith("/Volumes"):
        s = s[8:]
    

    或者,在Python
    3.9+上,您可以使用removeprefix

    s = s.removeprefix("/Volumes")
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看