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 })