Je n'ai pas encore pu comprendre comment obtenir une sous-chaîne d'un String
dans Swift:
var str = “Hello, playground”
func test(str: String) -> String {
return str.substringWithRange( /* What goes here? */ )
}
test (str)
Je ne suis pas en mesure de créer une gamme dans Swift. La saisie semi-automatique dans Playground n'est pas très utile - c'est ce qu'elle suggère:
return str.substringWithRange(aRange: Range<String.Index>)
Je n'ai rien trouvé dans la bibliothèque de référence standard Swift qui aide. Voici une autre supposition sauvage:
return str.substringWithRange(Range(0, 1))
Et ça:
let r:Range<String.Index> = Range<String.Index>(start: 0, end: 2)
return str.substringWithRange(r)
J'ai vu d'autres réponses ( trouver l'index de caractère dans la chaîne Swift ) qui semblent suggérer que puisqu'il String
s'agit d'un type de pont pour NSString
, les "anciennes" méthodes devraient fonctionner, mais il n'est pas clair comment - par exemple, cela ne fonctionne pas non plus ( ne semble pas être une syntaxe valide):
let x = str.substringWithRange(NSMakeRange(0, 3))
Pensées?