heroxianf 发表于 2021-5-25 22:19:32

有什么法子可以高效在数组中实现模糊查找[已解决]

本帖最后由 heroxianf 于 2021-5-25 22:57 编辑

Local $arr = [['name', 'tom'], ['age', 10], ['like', 'toto']]
比如我搜索关键字 'to' 就可以把 tom 和 toto 查询出来. 我原本打算循环正则匹配的, 数组量大了的话有点耗时.



afan 发表于 2021-5-25 22:29:58

#include <Array.au3>

Local $aArray = [['name', 'tom'], ['age', 10], ['like', 'toto']]
Local $aiResult = _ArrayFindAll($aArray, 'to', 0, 0, 0, 1, 1)
_ArrayDisplay($aiResult)

heroxianf 发表于 2021-5-25 22:32:27

afan 发表于 2021-5-25 22:29


我还是太菜了, 这个函数愣是没看懂. QQQ 大A

heroxianf 发表于 2021-5-25 22:42:44

afan 发表于 2021-5-25 22:29


A大, _ArraySearch() 函数里也有一个执行部分搜索, 那个如何使用呢?

afan 发表于 2021-5-25 22:48:33

heroxianf 发表于 2021-5-25 22:42
A大, _ArraySearch() 函数里也有一个执行部分搜索, 那个如何使用呢?

_ArraySearch() 只返回一个搜索结果。如果你要返回所有结果应该是需要循环才行的。

afan 发表于 2021-5-25 22:52:23

#include <Array.au3>

Local $aArray = [['name', 'tom'], ['age', 10], ['like', 'toto']]
Local $iIndex, $iStart = 0
Do
        $iIndex = _ArraySearch($aArray, 'to', $iStart, 0, 0, 1, 1, 1)
        If @error Then ExitLoop
        MsgBox(0, '', $iIndex)
        $iStart = $iIndex + 1
Until 0

heroxianf 发表于 2021-5-25 22:56:55

afan 发表于 2021-5-25 22:52


这下明白了, 还可以这样用.

blue003 发表于 2021-7-29 13:07:39

非常感谢!!!
页: [1]
查看完整版本: 有什么法子可以高效在数组中实现模糊查找[已解决]