Swift:如何检查字符串中关键字的部分出现
Swift: How to check for partial occurrence of keywords in a string
我想检查一个字符串是否至少包含一组关键字的两个或 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([=11=]) })
如果所有关键字都在一个字符串中,这有效并且 return 为真。现在我只想检查字符串中至少两个或 50% 的关键字。
所以 string2 也会 return 成功。
如何检查字符串中至少两个或 50% 的关键字?
过滤并计算字符串中包含的关键字。
let count = keywords.filter { generatedString.contains([=10=]) }.count
然后将计数与 2 或 50% 或其他值进行比较
试试,
let keywordsCount = keywords.filter({ string.lowercased().contains([=10=].lowercased()) }).count
if keywordsCount >= keywords.count / 2 {
print("Success")
} else {
print("Failure")
}
我想检查一个字符串是否至少包含一组关键字的两个或 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([=11=]) })
如果所有关键字都在一个字符串中,这有效并且 return 为真。现在我只想检查字符串中至少两个或 50% 的关键字。
所以 string2 也会 return 成功。 如何检查字符串中至少两个或 50% 的关键字?
过滤并计算字符串中包含的关键字。
let count = keywords.filter { generatedString.contains([=10=]) }.count
然后将计数与 2 或 50% 或其他值进行比较
试试,
let keywordsCount = keywords.filter({ string.lowercased().contains([=10=].lowercased()) }).count
if keywordsCount >= keywords.count / 2 {
print("Success")
} else {
print("Failure")
}