问题标签 [string-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
118 浏览

c# - 在数组中查找字符串的一部分?

我正在寻找一种有效的方法来查找某些单词,我会使用 switch/case, int/string.IndexOf('!'); foreach 循环/包含?

我有一个从客户那里收到的字符串。所以,假设我得到:

我有一个与该消息对应的可能值数组。(这些在语法上都不正确,只是为了让你有个想法):

基本上我想知道

我想使用数组中的单词搜索字符串 x。在 c# 中执行此操作的最有效方法是什么?我只需要一个布尔响应,而不是字符串中的确切位置。

回答

这是我用的:

0 投票
2 回答
1922 浏览

java - 返回递归匹配的字符串搜索算法 - Java

Rabin-Karp 搜索算法运行良好,但任何人都可以帮助指导我将其修改为递归搜索吗?http://algs4.cs.princeton.edu/53substring/RabinKarp.java.html。例如:

是否有其他更快的递归文本匹配搜索算法?

解决方案

从http://johannburkard.de/software/stringsearch/添加外部库来构建路径。下面的代码将返回匹配项的所有起始位置。包括像 match1 和 match2 这样的嵌入式。

0 投票
2 回答
1395 浏览

java - 是否有一个快速的 Java 库来搜索字符串及其在文件中的位置?

我需要在大量文件(即 600 个文件,每个 0.5 MB)中搜索特定字符串。

我正在使用 Java,所以我希望答案是 Java 库,或者在最坏的情况下,我可以从 Java 调用不同语言的库。

我需要搜索以返回文件中找到的字符串的确切位置(因此,例如 Lucene 似乎是不可能的)。

我需要尽可能快的搜索。

编辑开始:

这些文件可能具有不同的格式(即 EDI、XML、CSV),并且有时包含相当随机的数据(即数字 ID 等)。这就是为什么我初步排除了基于索引的搜索引擎。

将多次搜索文件以查找相似但不同的字符串(即,可能具有相似长度和格式的 ID,但它们通常不同)。

编辑结束

有任何想法吗?

0 投票
3 回答
36091 浏览

regex - 正则表达式仅匹配行尾的 X 个字符

下面您将看到来自专有路由设备的 32b 内存转储中字符串“octeon”的一小段匹配。如您所见,它包含一些调整后的 ASCII,从行尾开始扩展到 16 个字符,然后是四个 32 位字(当然每个字 8 个字符),然后是地址偏移量。

虽然这些数据包含一些有用的信息,但不幸的是,操作系统 ( HiveOS ) 并没有尝试连续分配内存或合并不同的堆(为什么要合并?),因此绝大多数内存是尚未开发的-malloc 堆。

我想快速有效地提取与任意正则表达式模式匹配的一定大小的字符串([a-zA-z]想到)您可能自然认为运行常年对象转储检查最喜欢的“字符串”会产生结果,但md实用程序是一个残忍的情妇——由于存在 ASCII 编码的十六进制银行和地址,它将每一行都标识为包含一个“字符串”。

当然,我们都知道存在一个简单的脚本解决方案 ( for line in hexdump: f.write(line[-16:])+ grep '[A-z]' f)。

然而,有时我会觉得我应该更好地理解这些令人讨厌的压迫性但被误解的正则表达式,而不是回到我易于使用的新奇编程语言。我真的觉得在我用各种流编辑器和 Awk 脚本的正则表达式完全取代我的整个开发工具链生活之前,我无法开始长出真正的 Unix 脖子。

如何[a-zA-z]从行尾开始匹配一定数量的字符(在我的例子中是 16 个)——这似乎是一个非常简洁的结构,但都是 +, 的组合?{16} 并且在过去几分钟内对我来说有意义的其他方式立即失败了。

0 投票
4 回答
463 浏览

search - freebase 使用什么算法来按名称匹配?

我正在尝试使用他们的 quad 转储构建本地版本的 freebase 搜索 api。我想知道他们使用什么算法来匹配名称?例如,如果您访问 freebase.com 并输入“Hiking”,您会得到

  • “阿波徒步协会”
  • “远足”
  • “徒步格鲁吉亚”
  • “徒步弗吉尼亚的国家森林”
  • “爬山径”
0 投票
2 回答
2156 浏览

android - 具有近似字符串匹配的Android autocompletetextview

我正在开发一个应用程序,其中包含大约 8000 个印度城市的名称。当用户输入时,我使用自动完成来帮助用户完成工作。但是一些城市名称的拼写对于其他州的人来说很难猜到。所以我们需要一个近似的字符串匹配来自动完成,而不是默认的精确匹配。

例如有像这样的名字

  • 蒂鲁马伊莱
  • 蒂鲁内图尔
  • 蒂鲁图赖尤尔
  • 蒂鲁瓦鲁

并且

  • 蒂鲁内尔维利
  • 蒂鲁曼加兰

如果用户搜索城市“Tirunelveli”但在文本框中键入“Thirunel”,则自动完成文本视图不会显示名称,并且会进行精确的字符串匹配。

我应该怎么做才能在自动完成下拉列表中获得近似匹配的字符串..

0 投票
2 回答
177 浏览

python - etree.ElementTree 解析 xml,然后构建一棵树,它是一种高效可搜索的数据结构吗?

我有一个 XML 字符串

我想使用“Sally Van Heerden”或“Tygervalley”等搜索词来搜索这个 xml 字符串

使用正则表达式查找此字符串中的术语是否更快,或者 Python 的 find() 方法是否足够快?我也可以使用 python 的元素树 XML 解析器进行搜索,然后构建 XML 树然后搜索它,但我担心它会太慢。

以上三个哪个最快?还有其他建议吗?

0 投票
1 回答
720 浏览

string-search - 在字符串中查找不相邻的子序列

假设我在字符串中搜索子序列,其中元素不一定必须相邻,但必须出现在 N 个字符内。所以,

我正在寻找一种有效的数据结构/算法来执行这种比较。我可以想到一些方法,例如搜索内部通配符的所有有效组合,例如

并使用任何多字符串搜索算法(可能是Aho–Corasick),但我想知道是否有更好的解决方案。

0 投票
1 回答
19988 浏览

php - 使用php在pdf文件中搜索字符串

我想以某种方式从 pdf 文件中搜索字符串strstr()。但是当一个 pdf 被作为纯文本阅读时,它会给你一个无法理解的垃圾。我该怎么做?

也许pdflib有一些解决方案,但我的托管服务提供商并没有帮助我安装它。

0 投票
2 回答
1788 浏览

c# - 正则表达式用于行首 - 或 - 句子中的最后一个数字

这匹配

John Smith John B Goode

我正在尝试针对以下情况修改此正则表达式:

之前的一些文字12359 (John B? Goode) 10249?

有时,名称出现在字符串末尾的数字之后,并且可选地位于末尾的最终数字之前。

我试过了

但这不起作用,因为

  1. 唯一^|[0-9]+匹配数字不再是行首
  2. 该组始终是一个空字符串,匹配类似的内容sometext 12354(第一个数字不需要位于行尾。

更新

这都是桥下的水,因为我在数据行的末尾发现了更多的名字,所以这不起作用。

但是,我的问题的解决方案不是将 OR 放在一个组中。