我想在我的程序中实现高级搜索功能,但我不想创建这样的界面(这只是示例):
我想要的只是一个文本框,用户可以在其中编写这样的查询(假设它是一个“联系人”应用程序):
contact_name:john,michael,-michelle age:<=20,=>15 location:usa
到目前为止我的想法:
首先,用空格分解文本,然后用冒号分解。因此,第一项将是“搜索字段”,第二个数组将是要查找的值。但是像<=
,-
和之类的运算符会出现问题*
。它们不是固定宽度,所以我不知道我应该为运算符做多少字符“substr”。
顺便说一句:如果这个搜索操作有一个通用名称,如“基于令牌的搜索”或类似的名称,我可以搜索一个已经完成工作的库。