求一个快速表格模糊搜索算法
一 应用情况:
一个MsflexGrid,其表格结构大体如下:
|--------------------------------|
| 行号 | 列一 | 列二 | 列三 |
|------|--------|-------|--------|
| 1 | 树林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 2 | 树森木 | 列二 | 列三 |
|------|--------|-------|--------|
| 3 | 森树木 | 列二 | 列三 |
|------|--------|-------|--------|
| 4 | 林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 5 | 树林森 | 列二 | 列三 |
|------|--------|-------|--------|
| 6 | 木林 | 列二 | 列三 |
|______|________|_______|________|
二 要实现的效果
对某一列或几列进行模糊搜索,搜索可以使用通配符.比如定义*表示0或多个字符,%表示一个字符(类
似SQL中的Like操作符,呵).
对上表,如果搜索条件为"列一 Like '*林木'",则我们可以搜出下表记录:
|--------------------------------|
| 行号 | 列一 | 列二 | 列三 |
|------|--------|-------|--------|
| 1 | 树林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 4 | 林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 6 | 木林 | 列二 | 列三 |
|_____|________|_______|_________|
再比如搜索条件为 "列一 Like '*木'",可以搜出以下记录
|--------------------------------|
| 行号 | 列一 | 列二 | 列三 |
|------|--------|-------|--------|
| 1 | 树林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 2 | 树森木 | 列二 | 列三 |
|------|--------|-------|--------|
| 3 | 森树木 | 列二 | 列三 |
|------|--------|-------|--------|
| 4 | 林木 | 列二 | 列三 |
|______|________|_______|________|
在条件的设置方面,可以是一个条件,也可以是多个条件,条件间可以是 AND 的关系,也可以是 OR 的
关系.这样的算法如何实现?有谁有现成的算法么??
谢谢了。呵