Non sono ancora stato in grado di capire come ottenere una sottostringa di a String
in Swift:
var str = “Hello, playground”
func test(str: String) -> String {
return str.substringWithRange( /* What goes here? */ )
}
test (str)
Non sono in grado di creare un intervallo in Swift. Il completamento automatico nel Playground non è molto utile - questo è ciò che suggerisce:
return str.substringWithRange(aRange: Range<String.Index>)
Non ho trovato nulla nella libreria di riferimento standard di Swift che mi aiuti. Ecco un'altra ipotesi selvaggia:
return str.substringWithRange(Range(0, 1))
E questo:
let r:Range<String.Index> = Range<String.Index>(start: 0, end: 2)
return str.substringWithRange(r)
Ho visto altre risposte ( Trovare l'indice di carattere in Swift String ) che sembrano suggerire che dato che String
è un tipo bridge per NSString
, i "vecchi" metodi dovrebbero funzionare, ma non è chiaro come - ad esempio, neanche questo funziona ( non sembra essere una sintassi valida):
let x = str.substringWithRange(NSMakeRange(0, 3))
Pensieri?