【发布时间】:2018-01-08 06:40:43
【问题描述】:
我想知道一个简单的算法来确定一个字符串是否包含确切的句子或单词。
我不是在寻找:
string.contains(anotherString)
原因如下:
let string = "I know your name"
string.contains("you") // Will return true
在上面的示例中,它返回 true,因为如果在单词 "your" 中找到 "you"。我想要一个在这种情况下返回 false 的方法。
例如:
let string = "I am learning Swift"
// Let's say we make a method using extension called contains(exact:)
string.contains(exact: "learn") // return false
contains(exact:) 方法将返回 false,因为 "learn" 不等于 "learning"
另一个例子:
let string = "Healthy low carb diets"
string.contains(exact: "low carb diet") // return false
在 Swift 3 中获得该结果的算法是什么?或者有预定义的方法吗?
【问题讨论】:
-
您可以遍历单词并使用
==进行比较。 -
@LinusGeffarth 我也想过,但我们无法确定单词之间是否有双空格,它不应该匹配。
-
那你应该先处理它。我不确定内置的修剪空白功能是否可以做到。如果没有,只需检查 ` (两个后续空格),然后删除其中一个。
标签: swift