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

python 判断字符串是否包含关键字

方法 1:使用 in 关键字(最简洁)

直接通过 in 操作符检查子字符串是否存在:

text = "Hello, welcome to Python world."
keyword = "Python"

if keyword in text:
    print(f"包含关键字 '{keyword}'")
else:
    print(f"不包含关键字 '{keyword}'")

方法 2:使用 str.find() 方法

find() 返回子字符串的起始索引(未找到则返回 -1):

text = "Hello, welcome to Python world."
keyword = "Python"

if text.find(keyword) != -1:
    print("关键字存在")
else:
    print("关键字不存在")

方法 3:使用 str.index() 方法

与 find() 类似,但未找到时会抛出 ValueError 异常:

try:
    index = text.index(keyword)
    print(f"关键字在索引 {index} 处")
except ValueError:
    print("关键字不存在")

方法 4:正则表达式(复杂匹配)

使用 re 模块实现更灵活的匹配(如忽略大小写、模糊匹配等):

import re

text = "Hello, welcome to Python world."
pattern = r"python"  # 正则表达式模式

if re.search(pattern, text, re.IGNORECASE):  # 忽略大小写
    print("关键字存在")
else:
    print("关键字不存在")

扩展场景

1. 检查多个关键字是否存在

使用 any() 结合生成器表达式:

keywords = ["Python", "Java", "C++"]
text = "I love Python programming."

if any(k in text for k in keywords):
    print("至少包含一个关键字")
2. 统计关键字出现的次数

使用 str.count()

count = text.count("Python")
print(f"关键字出现了 {count} 次")

总结

  • 推荐使用 in 操作符:简单高效,适用于大多数场景。

  • 正则表达式:适合需要模糊匹配(如大小写不敏感、模式匹配)的场景。

  • 避免冗余代码:优先选择直接判断逻辑(如 if keyword in text)。

相关文章:

  • 7.2 重复推送(每日、每周等)
  • springboot集成kafka,后续需要通过flask封装restful接口
  • 基于 Node.js 和 Spring Boot 的 RSA 加密登录实践
  • 程序化广告行业(70/89):ABTester系统助力落地页优化实践
  • 【C++篇】深入解析C/C++内存管理:从原理到实践
  • c语言 文件操作
  • MTO和MTS不同模式制造业数字化转型的“三座大山“:MES/ERP/PLM系统集成技术全解析
  • Buffer Pool 的核心作用与工作机制
  • uni-app使用web-view传参的坑
  • HOW - React Error Catch 机制
  • Three.js 系列专题 7:性能优化与最佳实践
  • TVBOX最新配置接口\直播源接口 收集整理【 2025.4】
  • Token无感刷新
  • 蓝桥杯备赛 Day 21 图论基础
  • 拼多多商品详情接口爬虫实战指南
  • 多线程代码案例(线程池)- 4
  • Rust 之四 运算符、标量、元组、数组、字符串、结构体、枚举
  • springboot Filter实现请求响应全链路拦截!完整日志监控方案​​
  • DeepSeek底层揭秘——《推理时Scaling方法》技术对比浅析
  • AI日报 - 2025年4月9日
  • “老中青少”四代同堂,季春艳携锡剧《玲珑女》冲击梅花奖
  • 国台办:台湾自古属于中国,历史经纬清晰,法理事实清楚
  • 马上评丨火车穿村而过多人被撞身亡,亡羊补牢慢不得
  • 浙江省机电集团党委书记、董事长廉俊接受审查调查
  • 14岁女生瞒报年龄文身后洗不掉,法院判店铺承担六成责任
  • 2025柯桥时尚周启幕:国际纺都越来越时尚