android - 将 String 与多个 ListView 项目进行比较

标签 android string listview string-comparison

我正在开发一个垃圾短信应用程序,其中我在数据库和 ListView 中保存了不同的关键字。现在我想要的是,每当收到一条新消息时,就会将消息正文与关键字列表进行比较,但这里有一个棘手的部分,如果单个关键字匹配,我不想将新短信归类为垃圾邮件,而是我想要该消息正文应该与所有关键字列表进行比较,如果该邮件最多包含关键字列表中的 3 或 4 个关键字,则该邮件被认为是垃圾邮件,如果仅使用 1 或 2 个关键字,则该邮件不会被称为垃圾邮件。 所以我想将我的邮件正文与关键字列表中的多个关键字进行比较,但我不知道该怎么做。 这是我的代码,用于检查单个关键字,但我想与多个关键字进行比较,请帮助

if (msglist != null) {
          for (int i1 = 0; i1 < msglist.size(); i1++) {

            String keyword = msglist.get(i1);


            if (msgBody.toUpperCase().contains(keyword.toUpperCase()) && !contactExists(context, msg_from)) {

              keywordPresent = true;
              screenMessage(context, msg_from, msg_from, msgBody, msgDate);
              break;

其中 msglist 是包含关键字的列表,如果单个关键字匹配且联系人未知,则将其保存在方法 screenMessage 的垃圾邮件类中 请帮助比较多个关键字

最佳答案

int keyWordMatched = 0;    
for (int i1 = 0; i1 < msglist.size(); i1++) {

            String keyword = msglist.get(i1);


            if (msgBody.toUpperCase().contains(keyword.toUpperCase()) && !contactExists(context, msg_from)) {

              keywordPresent = true;
              keyWordMatched++;
              screenMessage(context, msg_from, msg_from, msgBody, msgDate);
              //break;
}

//检查 keyWordMatched 计数大于您的要求然后添加到垃圾邮件

关于android - 将 String 与多个 ListView 项目进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36881821/

相关文章:

java - 使用正则表达式消除字符串中的单词java

python - Kivy 从代码中选择 ListView 中的一个项目

android - 合并 dex 时出错

android - 在android中添加上下文菜单图标

Android - 如何解码和反编译任何 APK 文件?

android - 为Android ListView 分隔线绘制两笔画?

android - 按查询分组在 ListView android 中显示一些意外结果

android - 显示弹出窗口时更改背景颜色

java - 字符串 - 全局设置

java - 任何使用大字符串并返回 InputStream 的实用程序类/方法?