想把名称前面的固定标记去掉时,lstrip接收的是字符集合,removeprefix接收的才是完整前缀。把两者混用,可能把后面本来需要保留的字母也删掉。

用重复标记看清差别
自拟文本为abcabc_notes。removeprefix("abc")只移除开头一份abc,得到abc_notes;lstrip("abc")则继续剥去开头属于a、b、c集合的字符,最终得到_notes。它不检查abc必须作为整体连续出现。
没有匹配时保留原内容
removeprefix在前缀不匹配时返回内容不变的字符串。若需要反复去掉多份标记,应另行说明规则;这个接口默认只处理一次。它从Python 3.9开始提供,旧环境执行前需确认版本。
测试边界而不是只试正常输入
下面同时检查重复前缀、没有前缀和空字符串,避免只用abc_notes这种两种方法恰好相同的输入。字符串方法返回新结果,使用时还要接收返回值,不能期待原变量自动改变。
可以运行的练习
text = "abcabc_notes"
assert text.removeprefix("abc") == "abc_notes"
assert text.lstrip("abc") == "_notes"
assert "notes".removeprefix("abc") == "notes"
assert "".removeprefix("abc") == ""
assert text == "abcabc_notes"
print(text.removeprefix("abc"))
示例已在本地隔离环境运行检查。使用固定输入,不访问外部接口,也不读取真实业务文件。
资料与继续学习
Python:removeprefix与lstrip。资料查阅日期:2026年10月5日。步骤与练习由本站整理。
资料查阅与编辑日期:2026年10月5日。作者:玖柒。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END






