如何解决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 举报,一经查实,本站将立刻删除。