代码之家  ›  专栏  ›  技术社区  ›  Christian Stewart

Objective-C检查字符串中不允许的字符

  •  2
  • Christian Stewart  · 技术社区  · 14 年前

    克里斯汀·斯图尔特

    1 回复  |  直到 14 年前
        1
  •  10
  •   zneak    14 年前

    NSCharacterSet 这里的关键是什么。首先需要字母字符集:

    NSCharacterSet* letters = [NSCharacterSet characterSetWithRange:NSMakeRange('a', 26)];
    

    然后,如果要检查字符串是否包含非字母字符,可以使用此集合的逆:

    NSCharacterSet* notLetters = [letters invertedSet];
    

    然后使用 NSString rangeOfCharacterFromSet: 具有 notLetters ,如果范围不是以 NSNotFound ,字符串中有禁止的字符。

    NSRange badCharacterRange = [myString rangeOfCharacterFromSet:notLetters];
    if (badCharacterRange.location != NSNotFound) // found bad characters