当前位置: 首页 > news >正文

str.endswith() 类似的方法

在Python中,与str.endswith()类似的方法(主要涉及字符串的开头/结尾检查、子串搜索等)有很多,以下是核心方法及其功能对比:

1. 开头检查:str.startswith()

  • 功能:检查字符串是否以指定前缀开头,返回True/False
  • 示例:
    "hello.txt".startswith("hello")  # True
    "hello.txt".startswith(("hello", "test"))  # 可接受元组,检查多个前缀
    

2. 子串搜索:str.find() / str.index()

  • str.find(sub):返回子串sub首次出现的索引,不存在时返回-1
  • str.index(sub):返回子串sub首次出现的索引,不存在时抛出ValueError
  • 示例:
    "apple".find("p")  # 1
    "apple".index("z")  # 抛出 ValueError
    

3. 反向搜索:str.rfind() / str.rindex()

  • 功能:从右向左搜索子串的位置(rfind返回-1rindex抛出异常)。
  • 示例:
    "banana".rfind("a")  # 5
    

4. 分割与分区:str.split() / str.partition()

  • str.split(sep):按分隔符分割字符串,返回列表。
  • str.partition(sep):将字符串分割为三部分(前缀、分隔符、后缀),返回元组。
  • 示例:
    "a,b,c".split(",")  # ['a', 'b', 'c']
    "hello world".partition(" ")  # ('hello', ' ', 'world')
    

5. 替换:str.replace()

  • 功能:替换子串,可指定替换次数。
  • 示例:
    "hi world".replace("hi", "hello", 1)  # "hello world"
    

6. 空白处理:str.strip() / str.lstrip() / str.rstrip()

  • 功能:移除字符串开头/结尾/两端的空白字符(或指定字符)。
  • 示例:
    "  text  ".strip()  # "text"
    "www.example.com".lstrip("w")  # ".example.com"
    

7. 大小写转换:str.lower() / str.upper() / str.capitalize()

  • 功能:转换字符串的大小写格式。

8. 格式检查:str.is... 系列

  • isdigit()isalpha()isalnum()等,用于检查字符串的组成(数字、字母等)。

9. 正则匹配:re.match() / re.search()

  • 需导入re模块,支持复杂模式匹配(如开头/结尾的正则表达式)。
  • 示例:
    import re
    re.match(r"^hello", "hello world")  # 匹配开头
    

关键区别总结

方法 方向 返回值类型 异常情况
str.endswith() 结尾 bool
str.startswith() 开头 bool
str.find() 任意方向 int(索引) 不存在时返回-1
str.index() 任意方向 int(索引) 不存在时抛出异常
str.partition() 任意方向 tuple(三部分)

这些方法覆盖了字符串操作的常见需求,可根据具体场景(如精确匹配、模糊搜索、格式验证等)选择合适的方法。

http://www.zskr.cn/news/29670.html

相关文章:

  • cgroup
  • 数字人:数字人公司排行榜及技术深度剖析
  • 【同余最短路】学习笔记
  • 数字人:数字人公司深度解析与未来展望
  • CSP/NOIP 复习:单调栈
  • 数字人企业:数字人公司排行榜深度解析
  • 数字人公司:数字人新趋势技术驱动与市场前景解析
  • WPF 深入系列.2.布局环境.布局控件.Grid
  • 冬日绘板 2026 珂朵莉计划 如何获取 Token
  • 数字人:怎么选择数字人实力公司
  • Asterix cat-062 ,航班号字段的编码解码
  • AI优化企业:GEO公司技术先驱
  • 题3
  • 吴恩达深度学习课程一:神经网络和深度学习 第四周:深度神经网络的关键概念
  • 第171-172天:代理通讯篇无外网或不可达SockS全协议规则配置C2正反向上线解决方案
  • SpringBoot整合缓存1-Ehcache
  • 如何在一台 Linux 机器上管理不同版本的 CMake
  • 90 天打造可持续交付:12 条 DevOps 实践要点与避坑
  • Linux基础——iptables常规操作
  • 题解:P8930 「TERRA-OI R1」神,不惧死亡
  • 大数据案例 -2025/10/24
  • 详细介绍:记一次达梦数据库的查询异常
  • 从价值直觉到价值理性:AI元人文演进路径解读
  • 2025年阳台壁挂太阳能厂家权威推荐榜单:分体式阳台太阳能/阳台壁挂太阳能热水器/分体式阳台太阳能源头厂家精选
  • 完整教程:Java开发者进阶之路
  • 国标GB28181平台EasyGBS视频调阅效果在跨域安防监控中的核心应用
  • 102302143郑泽雄第一次作业
  • 2025 年兰州凯文中学推荐:兰州凯文中学,二十载深耕民办教育 双师赋能全维育人 以低进高出成效书写成长答卷
  • github克隆别人的项目并创建环境安装子模块 - 教程
  • 用AI“抄底”双十一