Как найти слово в предложении sqlite, которое началось с моего поиска ввода? - PullRequest
0 голосов
/ 17 марта 2019

Я ищу в базе данных sqlite путем ввода editext.В sqlite у меня есть предложение.Я хочу найти предложения из sqlite, в которых есть несколько слов, которые начинаются с моего входного текста.Например, если мой входной текст будет: «вред», я хочу найти предложения, в которых есть слова типа «вредно».Я не хочу находить «вредное» слово, когда входной поиск был «полным».Потому что это слово не в начале моего слова (вредно).Надеюсь получить мою цель.Вот мой пример кода:

String pattern = "'%" + inputSearch.getText().toString() + "%'";

                    final String sql = "SELECT * FROM " + TABLE + " WHERE " + TITLE  + " LIKE " + pattern;                      

                    final SQLiteDatabase mydb = new MyDatabase(ArdicActivity.this).getWritableDatabase();
            //      final Cursor c = mydb.rawQuery(sql, null);

Я хочу найти слово между предложениями.Например, я хочу найти «вредное» слово из предложения: «эта еда вредна для вас»

Ответы [ 2 ]

0 голосов
/ 17 марта 2019

Разве это не сработает, если вы добавите в шаблон начальный пробел?

 String pattern = "'% " + inputSearch.getText().toString() + "%'";

Обратите внимание на пробел после первой процентной отметки.Это находит предложения, где ввод находится в середине предложения.Затем вы можете добавить другое условие, в котором шаблон будет

String pattern = inputSearch.getText().toString() + "%'";

, чтобы найти предложения, начинающиеся с ввода.

0 голосов
/ 17 марта 2019

Просто удалите начальный шаблон:

String pattern = "'" + inputSearch.getText().toString() + "%'";

Ссылка - условие SQLite LIKE

Кроме того, я бы рекомендовал вам использовать методы, присутствующие в классе SQLiteOpenHelper, вместо того, чтобы использовать сцепленные строки для ваших запросов. См этот ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...