我正在开发一个垃圾短信应用程序,其中我在数据库和 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/