Nie byłem jeszcze w stanie dowiedzieć się, jak uzyskać podciąg String
w Swift:
var str = “Hello, playground”
func test(str: String) -> String {
return str.substringWithRange( /* What goes here? */ )
}
test (str)
Nie mogę utworzyć zasięgu w Swift. Autouzupełnianie na placu zabaw nie jest super pomocne - sugeruje to:
return str.substringWithRange(aRange: Range<String.Index>)
W Swift Standard Reference Library nie znalazłem nic, co by pomogło. Oto kolejne dzikie przypuszczenie:
return str.substringWithRange(Range(0, 1))
I to:
let r:Range<String.Index> = Range<String.Index>(start: 0, end: 2)
return str.substringWithRange(r)
Widziałem inne odpowiedzi ( Finding index of character in Swift String ), które wydają się sugerować, że skoro String
jest to rodzaj mostu NSString
, „stare” metody powinny działać, ale nie jest jasne, jak - np. To też nie działa ( nie wydaje się być poprawną składnią):
let x = str.substringWithRange(NSMakeRange(0, 3))
Myśli?