微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift:如何检查字符串中关键字是否部分出现

如何解决Swift:如何检查字符串中关键字是否部分出现

我想检查一个字符串是否包含一组关键字中的至少两个或50%。

我目前正在检查包含所有关键字的字符串

 var keywords = ["house","floor","cleaner"] 
 let string = "SWIFFER WETJET FLOOR CLEANER HOUSE SOLUTION REFILL,LAvendER,1 CT"
 let string2 = "FABULOSO ALL PURPOSE CLEANER,LAvendER - 169 FL OZ"

 let success = !keywords.contains(where: { !generatedString.contains($0) })

这有效,如果所有关键字都在字符串中,则返回true。现在,我只想检查字符串中至少两个或50%的关键字。

所以成功也将为string2返回true。 如何对字符串中至少两个或50%的关键字实施检查?

解决方法

尝试

let keywordsCount = keywords.filter({ string.lowercased().contains($0.lowercased()) }).count

if keywordsCount >= keywords.count / 2 {
    print("Success")
} else {
    print("Failure")
}
,

过滤和计数包含在字符串中的关键字。

  let count = keywords.filter { generatedString.contains($0) }.count

然后比较计数为2%或50%或其他任何值

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。