Python rstrip函数踩坑记录

Python rstrip函数踩坑记录问题背景从许多中文的参考文献上 rstrip 函数的功能被简单描述为 删除字符串末尾的指定字符 默认为空格 我的理解是 直接去掉末尾指定的字符序列 如我传入的是 d 则会去掉末尾的字符 d 如果存在 如果传入了字符 ad 则去掉末尾的字符 ad 如果存在 直到我们开发的服务遇到了一个非常奇怪的 bug 之后 下面是奇怪问题的复现过程 gt gt gt s hello world

问题背景

从许多中文的参考文献上,rstrip() 函数的功能被简单描述为 :删除字符串末尾的指定字符(默认为空格),我的理解是,直接去掉末尾指定的字符序列,如我传入的是d,则会去掉末尾的字符d(如果存在),如果传入了字符ad,则去掉末尾的字符ad(如果存在),直到我们开发的服务遇到了一个非常奇怪的bug之后,下面是奇怪问题的复现过程:

>>> s = 'hello_world' >>> s.rstrip('d') # 去除末尾的字符d 'hello_worl' >>> >>> s.rstrip('ld') # 去除末尾的字符 ld 'hello_wor' >>> >>> s.rstrip('ad') # 去除末尾字符 ad 'hello_worl' # ??? 为什么 d 被去掉了? >>> 

问题解决

总结一下

rstrip和lstrip方法删除的不是传入的整个字符,而是以单个字符为单位删除,如果你传入了一段字符串,如果这段字符串中任何一个字符出现在需删除字符串的开头或末尾,则都将会被删除。如:

>>> s = 'helloworlld' >>> s.rstrip('ld') 'hellowor' 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216813.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午11:00
下一篇 2026年3月18日 上午11:00


相关推荐

  • ostaskdel函数_getreal函数

    ostaskdel函数_getreal函数INT8U OSTaskCreate(void(*task)(void*pd),void*p_arg,OS_STK*ptos,INT8Uprio);函数返回一个8位的整型数,调用该函数需要四个参数。第一个参数一个指针,也就是用户代码的首地址,在平时使用中我们把自己创建的任务的名字作为这个参数就可以了;第三个参数是指向任务堆栈栈顶的指针,通常我们把创建的任务的堆栈数组的首地址给第…

    2025年9月20日
    5
  • Python的八种数据类型[通俗易懂]

    Python的八种数据类型[通俗易懂]Python的八种数据类型八种数据类型分别是:number(数字)、string(字符串)、Boolean(布尔值)、None(空值)list(列表)、tuple(元组)、dict(字典)、se

    2022年7月5日
    30
  • 维吉尼亚密码原理详解及算法实现

    维吉尼亚密码原理详解及算法实现Playfair 密码编写 或者采用维吉尼亚密码编写 输入明文长度是任意的 明文 量子通信保密技术的诞生和快速发展主要取决于以下两个因素 a 经典保密通信面临着三个难以彻底解决的关键问题 即密钥协商 身份识别和窃听检测 这些问题的有效解决需要新技术 b 在对新技术的探索中 人们发现了量子内在的安全特性及其可能的应用 请写出你的密码机输出结果 可以采用 Playfair 密码或者 Vigen re 密码 这里我采用的是 Vigen recipher 完成信息加密 在 Vigener

    2026年3月19日
    3
  • 在 Windows 中将 MBR 转换为 GPT 且不丢失数据的完整指南

    在 Windows 中将 MBR 转换为 GPT 且不丢失数据的完整指南

    2026年3月16日
    3
  • 解决pycharm汉化后无法打开设置

    解决pycharm汉化后无法打开设置转自:https://www.52pojie.cn/thread-728816-1-1.html由于操作相对复杂,再次小白整理了一下,下载压缩包内有使用方法,一目了然链接:https://pan.baidu.com/s/1o0jcRlPy4AuNAtfsk2wvHw提取码:4l7j…

    2022年5月16日
    43
  • Java的特点[通俗易懂]

    Java的特点[通俗易懂]Java是一种“简单”、面向对象、分布式、解释型、健壮、安全、体系结构中立、可移植、高性能和动态的编程语言。简单:Java的设计目的是让专业程序员觉得既易学又好用。假设你有编程经历,你将不觉得Java难掌握,如果你已经理解面向对象编程的基本概念,学习Java见更加容易。面向对象:面向对象是现代编程语言的重要特征之一,面向对象技术极大的提高了人们的软件开发能力。分布

    2022年7月7日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号