You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python的lstrip()方法是如何从左侧移除字符的?

Python str.lstrip() 移除规则说明

你对lstrip方法的原有认知存在偏差,该方法的核心运行规则如下:

  • 传入的参数不是需要匹配的前缀字符串,而是一个包含所有要被移除字符的无序集合
  • 方法会从字符串最左侧开始逐字符遍历,只要当前字符属于参数对应的字符集合就会被移除,直到遇到第一个不在集合内的字符即停止,返回剩余的字符串
  • 未传入参数时,默认移除左侧所有空白字符(空格、换行符、制表符等)

你的测试用例解释

用例1:'htp://www.abc.com'.lstrip('/')

你传入的参数对应的字符集合为{'/'},字符串第一个字符为h,不在该集合内,方法直接停止运行返回原字符串,因此得到输出'htp://www.abc.com'。
你之前预期的「移除到遇到/为止」是错误逻辑,lstrip不会主动向后查找目标字符,只会从最左端开始逐个匹配字符集合。

用例2:'htp://www.abc.com'.lstrip('/:pth')

你传入的参数对应的字符集合为{'/', ':', 'p', 't', 'h'},逐字符匹配过程如下:

  1. 第1位h在集合内,移除
  2. 第2位t在集合内,移除
  3. 第3位p在集合内,移除
  4. 第4位:在集合内,移除
  5. 第5位/在集合内,移除
  6. 第6位/在集合内,移除
  7. 第7位w不在集合内,停止运行

最终返回剩余字符串'www.abc.com',和你得到的输出一致。


拓展:精准移除前缀的方法

如果你需要精确移除固定前缀,不要用lstrip避免出现误删问题,Python 3.9及以上版本提供了专门的removeprefix()方法,示例:

'htp://www.abc.com'.removeprefix('htp://')
# 输出:'www.abc.com'

内容的提问来源于stack exchange,提问作者meallhour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:06:03