Ответ 1
Вы можете использовать rangeOfString и substringToIndex для его startIndex следующим образом:
Swift 2
let word = "orange"
if let index = word.rangeOfString("n")?.startIndex {
print(word.substringToIndex(index)) // "ora"
}
Свифт 3
let word = "orange"
if let index = word.range(of: "n")?.lowerBound {
print(word.substring(to: index)) // "ora"
}
Swift 4
let word = "orange"
if let index = word.range(of: "n")?.lowerBound {
let substring = word[..<index] // "ora"
// or let substring = word.prefix(upTo: index) // "ora"
// (see picture below) Using the prefix(upTo:) method is equivalent to using a partial half-open range as the collections subscript.
// The subscript notation is preferred over prefix(upTo:).
let string = String(substring)
print(string) // "ora"
}