似乎不可能在 Android 的 SQLite 查询中使用 REGEXP。如果可能,请指出正确的方向。
有没有办法使用 LIKE 条件来查询结果中任何单词开头的表达式?
示例:
条目:
1. 最低限度
2. 铝
3. 最后一分钟
查询:
“分钟”
期望的结果
(1) 最低
(3) 最后一分钟
不
(2) 铝
这基本上是我当前的代码,它将返回 (2)Aluminum:
public Cursor search(String query) {
return mDb.query(TABLE, COLUMNS, KEY_NAME +" like ?", new String[] { "%"+query+"%" }, null, null, null);
}
任何帮助将不胜感激!
最佳答案
这有点像 hack,但是......
foo LIKE 'bar%' OR foo LIKE '% bar%'
可能会满足您的需要(在“foo”中的单词开头找到“bar”)。如果您还希望标点符号用作单词分隔符,则您还必须为此添加 OR 子句(因此这是一个 hack)。
关于android - REGEXP 的 SQLite LIKE 替代方案,匹配任何单词的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3489045/