是 Swift 中另一个字符串的字符串部分

Is a String part of another String in Swift

我在 Swift 中编写了一个搜索栏。现在我需要检查搜索到的单词是否是数组中某个单词的一部分

示例:

Search: hel   - word in array: hello --> true    
Search: bs -  word in array: hello --> false

有没有一种方法可以检查我是否只在搜索是数组中单词的开头时才得到 true --

示例:

Search: hel -  word in array: hello --> true   
Search: lo  - word in array: hello --> false

抱歉我的英语不好:D

在 Objective-C 中有一个用于查找字符在 NSString 中的位置的函数。 rangeOfString:。在 swift 中,根据我的发现,它是

var range = text.rangeOfString("your-string");
if(range.startIndex == 0)
    //This was found at the very beginning of the text string

稍微使用一下该代码,您将能够在搜索到的字符串中找到找到的字符串的位置。

此代码将完全按照您的要求执行,我假设您确保输入和数组中的单词是有效字符串。建议使用 startIndex 和 endIndex 以在 Swift 中的字符串中获得正确的字形计数,并且您可以使用方括号轻松引用字符串的一部分:

var input = "hel"
let wordInArray = "hello"

if wordInArray[input.startIndex..<input.endIndex] == input {
  println(true)
} else {
  println(false)
}

当输入为 "hel" 时,这将计算为 true,如果为 "lo"

,则计算为 false

(根据您的规格,您必须检查搜索输入的长度是否小于或等于数组中的单词或使用 min(input.endIndex,wordInArray.endIndex) 最大防止错误的范围值)