# string.fuzzyMatching 库模块帮助文档

## string 成员列表 <a id="string" href="#string">&#x23;</a>

### string.fuzzyMatching <a id="string.fuzzyMatching" href="#string.fuzzyMatching">&#x23;</a>
模糊匹配字符串

创建字符串模糊匹配对象

### string.fuzzyMatching() <a id="string.fuzzyMatching" href="#string.fuzzyMatching">&#x23;</a>
[返回对象:stringFuzzyMatchingObject](#stringFuzzyMatchingObject)

### string.fuzzyMatching(strTemplte,charPattern,method) <a id="string.fuzzyMatching" href="#string.fuzzyMatching">&#x23;</a>
创建模糊匹配对象。  
strTemplte 参数指定需要匹配的模板字符串。  
charPattern 为可选参数，用模式匹配语法指定提取待比较字符的模式串。  
method 为可选参数，可选指定以下算法：  
- fuzzyMatching 相似度算法，关注字符频率，首尾连续性敏感。  
- n 此参数用数值指定比较单元字数则使用 N-gram 算法，局部连续性敏感，效果较好，速度最快。  
- levenshtein 准确度高，对字符位置敏感 ，较慢。  
- cos 考虑了字符频率，不关注顺序。  
- jaccard 只考虑字符是否出现。

## stringFuzzyMatchingObject 成员列表 <a id="stringFuzzyMatchingObject" href="#stringFuzzyMatchingObject">&#x23;</a>

### stringFuzzyMatchingObject.find(匹配字符串数组,最小相似度) <a id="stringFuzzyMatchingObject.find" href="#stringFuzzyMatchingObject.find">&#x23;</a>
在文本数组中查找最接近的字符串  
最小相似度为可选参数,默认值为 0.6,  
成功则返回值@1为找到的文本,  
返回值@2为相似度（小数,最大相似为1,不相似为0）,  
返回值 @3 为匹配索引,  
无匹配则返回 null

### stringFuzzyMatchingObject.match(匹配字符串) <a id="stringFuzzyMatchingObject.match" href="#stringFuzzyMatchingObject.match">&#x23;</a>
返回文本相似度  
相似度为小数,最大相似为1,不相似为0  
比较规则为先比较相同字符数,  
然后再自左侧或右侧查找相同的最长字符串

### stringFuzzyMatchingObject.search(字符串,最小相似度) <a id="stringFuzzyMatchingObject.search" href="#stringFuzzyMatchingObject.search">&#x23;</a>
模糊检测参数传入的字符串是否包含模板字符串  
最小相似度默认为 0.8
