Python - 如何搜索没有空格的大字符串,以查看值是不是存在
Posted
技术标签:
【中文标题】Python - 如何搜索没有空格的大字符串,以查看值是不是存在【英文标题】:Python - How to search a large string with no spaces, to see if a value existsPython - 如何搜索没有空格的大字符串,以查看值是否存在 【发布时间】:2019-11-28 06:42:43 【问题描述】:我有一个充满字节码的大字符串,所以没有空格,我正在尝试搜索该代码的特定部分。
例如;
byte_code = 'ergewyegt6t4738t8347tygfhfh47tg4378t58437t485t454gyfofby3gyfg34t5t6435t3465tg3465t4'
我正在寻找的值是 'fhfh47tg'。
我尝试了 .find String 方法,但运气不佳。 如前所述,字符串没有空格。
一旦在字符串中找到模式,我希望输出为真。
【问题讨论】:
'fhfh47tg' in byte_code
?
请包含您尝试过的代码。 str.find 应该可以正常工作,但如果没有匹配,它会返回 -1
。如果您不在乎在字符串中的哪个位置找到您的模式,请改用 in
运算符。
@AniketSahrawat:只有在搜索字符串的开头找到子字符串(索引 0,这是一个假值)时,才会返回 False。不匹配将返回-1
,这是真实的。相反,您可以使用print(byte_code.find('fhfh47tg') != -1)
@HåkenLid 没想到 :)
Does Python have a string 'contains' substring method?的可能重复
【参考方案1】:
您可以使用in
(__contains__
) 测试子字符串是否存在:
if 'fhfh47tg' in byte_code:
print('Match found')
您还可以查看str.find
、str.index
FWIW 等方法。
【讨论】:
在 cpython(我假设大多数其他运行时)中,str.__contains__()
的实现独立于常规字符串迭代。 ***.com/a/18139681/1977847
总是比正则表达式好。【参考方案2】:
使用re.search
是一种选择:
if re.search(r'fhfh47tg', byte_code):
print("MATCH")
else:
print("NO MATCH")
【讨论】:
【参考方案3】:我觉得你可以的
if 'fhfh47tg' in byte_code:
return True
或
return 'fhfh47tg' in byte_code
【讨论】:
【参考方案4】:您可以尝试以下方法:
byte_code = 'ergewyegt6t4738t8347tygfhfh47tg4378t58437t485t454gyfofby3gyfg34t5t6435t3465tg3465t4'
if 'fhfh47tg' in str:
print("Value is present.")
(您可以根据自己的喜好更改输出。)
和平相处。
【讨论】:
以上是关于Python - 如何搜索没有空格的大字符串,以查看值是不是存在的主要内容,如果未能解决你的问题,请参考以下文章
python练习-生成一个1到50的大字符串每个数字之间有个空格
如何检查字符串中的三个或更多空格 - Python [重复]