我想检查一下,如果我的字符串包含 ONLY 数字。为此,我尝试:
if resultTitles[indexPath.row].rangeOfCharacterFromSet(badCharacters) == nil {
let badCharacters = NSCharacterSet.decimalDigitCharacterSet().invertedSet
print("Index: \(indexPath.row)")
}
虽然有效,但现在还没有。这真的很奇怪。这有什么不对?
答案 0 :(得分:0)
if语句行或下一行是否出现错误?该错误可能是由于在if语句中使用后声明了badCharacters ,并且因为它已经让你不能改变它(如果它已经存在)。 / p>
答案 1 :(得分:-1)
试试这个:
if resultTitles[indexPath.row].rangeOfCharacter(from: NSCharacterSet.decimalDigits.inverted) == nil {
print("Index: \(indexPath.row)")
}
检查String是否仅包含数字的替代解决方案:
CharacterSet.decimalDigits.isSuperset(of: CharacterSet(charactersIn: yourString))
另一种解决方案:
if(Int(yourString!) != nil){
//String contains only numbers/digits.
}
else {
// String not contains only numbers.
}