6

J'AttributedString avec emoji comme celui-ci « testeur @Mervin »Rang de sous-chaîne NSMutableAttributedString

Maintenant, je dois trouver une gamme de Mervin dans cette chaîne attribuée.

let attributedString = NSMutableAttributedString(string: " @Mervin tester ") 

let range = // range for "Mervin" in above String. 

Merci.

+2

Savez-vous 'Mervin'? Ou vous cherchez '@ SomeName'? Sinon, 'range = attributeString.string.rangeOfString (" Marvin ")' (en pseudo code, je ne suis pas sûr des noms des méthodes Swift, mais l'achèvement devrait vous aider). – Larme

+0

@Larme Merci, ça marche. J'essayais la même chose avec la chaîne utf-8, donc c'était montrer le mauvais résultat. – Ujesh

Répondre

6

Cette extension devrait vous aider.

extension NSAttributedString { 
    func rangeOf(string: String) -> Range<String.Index>? { 
     return self.string.range(of: string) 
    } 
} 

Utilisation:

attributedString.rangeOf(string: "Mervin")