Je travaille sur une NSFormatère personnalisée.
J'ai besoin de vérifier la saisie de l'utilisateur étape par étape ... Je pensais vérifier par ispartialstringvalid: code> si la chaîne contient uniquement des caractères autorisés "0123456789ABCDEF".
Comment puis-je vérifier cette condition? Y a-t-il un moyen de vérifier si une chaîne ne contient que quelques caractères? P>
5 Réponses :
Vous pouvez créer un Une autre option correspondait à code d'échantillon Swift: p> nscharactterset nom> contenant les caractères autorisés (
+ caractèresTwithcharactersRing: code>), puis testez la chaîne contre celui-ci avec
RangeOfcharacterfromset: code> . Si la plage retournée est égale à l'ensemble de la plage de la chaîne, vous avez une correspondance.
Nsregularexpression code>. P>
Cette méthode fonctionne-t-elle pour vous?
dans Swift 2.1 strong> Vous pouvez étendre la chaîne de cette manière:
extension String { var isHexNumber: Bool { filter(\.isHexDigit).count == count } } print("text1".isHexNumber) // false print("aa32".isHexNumber) // true print("AD1".isHexNumber) // true
Swift One-Dower sans ajouter d'extensions:
myString.allSatisfy({ $0.isHexDigit })