Извлечение конкретного ключевого слова из входящего сообщения Android Broadcaster - PullRequest
0 голосов
/ 01 мая 2018

Я хочу извлечь ключевое слово из строки.

Означает, что я хочу извлечь все ключевые слова из входящего сообщения, а затем проверить, существует ли каждая строка в базе данных или нет. И игнорируйте общие слова (т. Е. Я, я или, вы, я, это, ... и т. Д.), Принимайте только ключевые слова, колледж, человек, любовь, LGS и т. Д.

Как я могу сделать это в Android?

Основная проблема заключается в том, чтобы проверить наличие определенных ключевых слов.

Если у вас есть другое решение, сообщите мне.

1011 * Благодарения и *

1 Ответ

0 голосов
/ 02 мая 2018

Просто разбейте строку и пройдитесь по списку.

String[] searchwords = myMessageString.split(" ");
int processedWords = 0;
ArrayList<String> foundWords = ArrayList<String>();
for ( int i=0; i < searchwords.length; i++) {
   myAsyncTaskSearchDatabase(searchwords[i]){
        public override onPostExecute(foundWordOrNull){
             processedWords++;
             if(foundWordOrNull != null){
                 foundWords.add(foundWordOrNull);
             }

             if(processedWords = searchwords.length){
                 //handle all found words
             }
        }
   }.execute();
}

--- ОБНОВЛЕНИЕ НА ОСНОВЕ ВАШИХ ТРЕБОВАНИЙ

 String[] searchwords = myMessageString.split(" ");
    bool wasFound = false;
    for ( int i=0; i < searchwords.length; i++) {
       new myAsyncTaskSearchDatabase(searchwords[i]){
            public override onPostExecute(foundWordOrNull){
                 processedWords++;
                 if(foundWordOrNull != null){
                     wasFound = true;
                 }

                 if(processedWords = searchwords.length){
                      if(wasFound){
                           //do something
                      }else{
                           //no matches
                      }
                 }
            }
       }.execute();
    }
...