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

如何编写不区分大小写的Python子串检测函数(用islower/isupper)

修正不区分大小写的子串匹配函数

原代码存在的问题

  • 判断逻辑颠倒:原代码检查a2 in a1,实际需求是判断第一个字符串是否存在于第二个字符串中,逻辑完全相反
  • 未处理大小写差异:没有统一字符串的大小写规则,导致大小写不同时匹配失败(比如lol和HIlol因大小写问题无法匹配)
  • 未封装成函数:不符合需求中“编写一个函数”的要求

修正后的代码

根据需求,我们需要编写函数并利用islower()方法辅助统一大小写,实现不区分大小写的子串匹配:

def check_substring(str1, str2):
    # 统一将两个字符串转为小写,使用islower()判断是否需要转换
    processed_str1 = str1.lower() if not str1.islower() else str1
    processed_str2 = str2.lower() if not str2.islower() else str2
    return processed_str1 in processed_str2

# 接收用户输入并调用函数
a1 = input("第一个字符串:")
a2 = input("第二个字符串:")
print(check_substring(a1, a2))

测试验证

示例1

第一个字符串:lol
第二个字符串:Hilol
True

示例2

第一个字符串:IDK
第二个字符串:whatidk
True

问题场景测试

输入第一个字符串lol、第二个字符串HIlol时,函数会将两者转为lol和hilol,判断lol存在于hilol中,返回True,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 01:31:03