当前位置: 首页 > 面试题库 >

python高效的子字符串搜索

楚望
2023-03-14
问题内容

据我所见,内置实现是一个迭代的实现:python
docs

python是否有实现用于查找子字符串的更充分技术的实现:Boyer-
Moore算法

Rabin-Karp算法等…
???


问题答案:

实际的cpython字符串搜索实现在这里:

http://hg.python.org/cpython/file/tip/Objects/stringlib/fastsearch.h

它似乎使用了Boyer-Moore。



 类似资料:
  • 问题内容: 可以说我有一个清单 如何让用户进行通配符搜索? 搜索词:“ th_s” 将返回“ this” 问题答案: 正则表达式可能是解决此问题的最简单方法:

  • 问题内容: 我有: 功能: 和一个字符串:, 我本质上是想输入并返回,但是我却不断地返回。 码: 不知道怎么了! 问题答案: 理想情况下,您会 像痴呆的刺猬说的那样 使用 str.find 或 str.index 。但是你说你不能… 您的问题是您的代码仅搜索搜索字符串的第一个字符(第一个字符在索引2)。 您基本上是说if是in ,递增直到我测试它返回3时,但这仍然是错误的。这是一种方法。 它产生了

  • 问题内容: 在我的查询中,我想找到与许多LIKE运算符之一匹配的行。我知道这样做的3种方法,但是只有其中一种可以使用索引。 让我们从表开​​始: 插入样本数据后,我可以执行以下操作: 以上查询正确使用索引。 第二种方式: 该查询将不使用索引。我知道的最后一种方法: 与上一个查询类似,该查询将不使用索引。 这是SQL Fiddle,适用于那些想如何使用这些查询的人:http : //sqlfiddl

  • 问题内容: 在SQLite中搜索子字符串的最有效方法是什么? 我在看LIKE运算子。 我有正确的主意吗?这对您来说效果很好吗? http://www.sqlite.org/lang_expr.html 谢谢你。 问题答案: 是的,请使用“赞”。 将返回名称列中任何位置带有“ omm”的行。

  • 问题内容: 有没有一种方法可以在Python中对字符串进行子字符串化,以从第三个字符到字符串末尾获取新的字符串? 也许喜欢吗? 如果离开第二部分意味着“直到最后”,而如果离开第一部分,它是否从头开始? 问题答案: Python称这个概念为“切片”,它不仅适用于字符串,还适用于更多的领域。看看这里的一个全面的介绍。

  • 问题内容: 如何找到两个子字符串之间的字符串? 我当前的方法是这样的: 但是,这似乎效率很低而且不合Python。什么是做这样的更好的方法? 忘了提:该字符串可能无法启动,并最终和。他们之前和之后的字符可能更多。 问题答案: