如何使用Regex从sqlite获取数据?

时间:2015-04-07 06:50:37

标签: regex android-sqlite

我想搜索一个包含字符串的列,例如“我将在她的#Bday上使用@Akki的#dinner。我现在正在搜索这个但是它注意到了。” 而变量搜索的值类似于#dinner。谢谢。

selectionArgs = new String[] {"'"+search+"'"}; String qur="SELECT * FROM TODOS WHERE fullnote REGEXP"; Cursor c = db.rawQuery(qur,selectionArgs);

3 个答案:

答案 0 :(得分:2)

尝试使用

String[] selectionArgs = new String[] {"%"+search+"%"};
Cursor c = db.rawQuery("SELECT * FROM TODOS WHERE fullnote LIKE ?",selectionArgs);

请参阅Android SQLite reference

  

public Cursor rawQuery (String sql, String[] selectionArgs)

     

selectionArgs - 您可以在查询中的where子句中包含?,其中   将被selectionArgs中的值替换。价值观将是   绑定为字符串。

答案 1 :(得分:-1)

selectionArgs =  new String[] {search};
    Cursor c = db.rawQuery("SELECT * FROM TODOS WHERE fullnote LIKE '%?%'",selectionArgs);

答案 2 :(得分:-1)

经过漫长的R& D我指出我不能直接使用REGEXP。 然后我试过了  Cursor c = db.rawQuery("SELECT * FROM TODOS WHERE tag LIKE '%"+search+"%' ",null);

它工作正常。 谢谢大家。