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

Python技术问题:如何在无空格大字节码字符串中查找指定内容

解决字节码字符串匹配的布尔值返回问题

嘿,我明白你的困扰了!你遇到的问题其实是对str.find()方法的返回值理解有点偏差——它不会直接返回True/False,这就是你觉得“未成功”的原因。

问题根源

str.find(sub)方法的逻辑是:

  • 如果找到目标子串,返回子串在原字符串中的起始索引位置(从0开始计数)
  • 如果找不到,才返回-1

在你的示例里,byte_code.find('fhfh47tg')其实会返回22(这个子串确实存在),但你可能误以为它会返回True,所以才觉得方法没起作用。

两种简单解决方案

方案1:用in运算符(最直观)

Python里判断子串是否存在,最直接的方式就是用in关键字,它会直接返回布尔值:

byte_code = 'ergewyegt6t4738t8347tygfhfh47tg4378t58437t485t454gyfofby3gyfg34t5t6435t3465tg3465t4'
target = 'fhfh47tg'

is_found = target in byte_code
print(is_found)  # 输出: True

方案2:基于find()做判断

如果你一定要用find()方法,只需要判断它的返回值是否不等于-1即可:

is_found = byte_code.find(target) != -1
print(is_found)  # 输出: True

这两种方式都能满足你“找到匹配时返回True”的需求,推荐用第一种,代码更简洁易懂。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:44:31