2017-09-26 9 views
0

J'ai eu des ennuis avec rapide String, quelqu'un peut-il m'aider?Comment puis-je obtenir une sous-chaîne dans swift4 et utiliser le moyen le plus simple?

Je sais que je peux utiliser String.Index pour obtenir une sous-chaîne

let country = "德国 Germany" 
let flag3 = country[country.index(country.startIndex, offsetBy: 1)..<country.index(country.startIndex, offsetBy: 3)] 
print(flag3) //德国 

Mais je le sens (Range<String.Index>) est très fastidieux. Comment puis-je obtenir une gamme exacte de chaîne comme NSString API:

NSString *ns_country = @"德国 Germany"; 
NSString *sub = [ns_country substringWithRange:NSMakeRange(0, 2)];//德国 
+0

Espérons que cela vous aide https://stackoverflow.com/questions/45562662/how-can-i-use-string-slicing-subscripts-in-swift-4 –

+0

En fait, il est un type de sous-chaîne. Je veux juste savoir s'il a une façon élégante de créer 'Range ' ou non. – hupengfei

Répondre

0
let ns_country = "德国 Germany" 
let range = ns_country.index(of: "国")! 
let newStr = ns_country[...range] 

En fait, ici newStr est substring si vous voulez String

let newStr = String(ns_country[...endOfSentence]) 

Vous pouvez en savoir plus sur les nouvelles chaînes here

+0

merci, mais parfois ce n'est pas une bonne idée, si j'ai beaucoup de "国" dans une gamme différente d'une chaîne, je veux juste en obtenir un spécial. – hupengfei