10
votes

Valider Nstring pour une valeur hexadécimale

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: 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?


0 commentaires

5 Réponses :


5
votes

Vous pouvez créer un nscharactterset contenant les caractères autorisés ( + caractèresTwithcharactersRing: ), puis testez la chaîne contre celui-ci avec RangeOfcharacterfromset: . Si la plage retournée est égale à l'ensemble de la plage de la chaîne, vous avez une correspondance.

Une autre option correspondait à Nsregularexpression .

code d'échantillon Swift: xxx


0 commentaires

20
votes

Cette méthode fonctionne-t-elle pour vous? XXX


0 commentaires

3
votes

dans Swift 2.1 Vous pouvez étendre la chaîne de cette manière: xxx


0 commentaires

4
votes

SWIFT 5
extension String {
    var isHexNumber: Bool {
        filter(\.isHexDigit).count == count
    }
}

print("text1".isHexNumber) // false
print("aa32".isHexNumber) // true
print("AD1".isHexNumber) // true


0 commentaires

0
votes

Swift One-Dower sans ajouter d'extensions:

myString.allSatisfy({ $0.isHexDigit })


0 commentaires