【问题标题】:How to detect space, and special characters like :, ?,`,~, etc in text of a textfield in iPhone SDK?如何在 iPhone SDK 的文本字段的文本中检测空格和特殊字符,如 :、?、`、~ 等?
【发布时间】:2011-02-23 13:58:29
【问题描述】:

如何在 iPhone SDK 的文本字段的文本中检测空格和特殊字符,如 :、?、`、~ 等?

【问题讨论】:

    标签: iphone objective-c cocoa-touch iphone-sdk-3.0 ios4


    【解决方案1】:

    试试这个..

    NSCharacterSet* symbols = [NSCharacterSet symbolCharacterSet];
       if([symbols characterIsMember: yourCharacter]) {
            //Check Your condition here
        }
    

    如果您想包含许多字符,请使用组合的 NSCharacterset 和 NSMutableCharacterSet..

        NSMutableCharacterSet *space = [NSMutableCharacterSet characterSetWithCharactersInString:@" "];
        [space formUnionWithCharacterSet:[NSCharacterSet symbolCharacterSet]];
    

    使用空格字符集检查字符

    【讨论】:

    • 那么如果我想在其中包含空格和冒号,我该怎么写呢?
    • 我试过你的代码,它检查了所有的符号,但没有检查空格。
    • 试试这个 NSMutableCharacterSet *space = [NSMutableCharacterSet whitespaceAndNewlineCharacterSet];
    • @Hrushikesh 像这样检查你的角色 NSCharacterSet* symbols = [NSCharacterSet characterSetWithCharactersInString:@"#"];
    【解决方案2】:

    您还可以使用NSScanner 的实例来解析您的字符串。它比 BuildSucceeded 的答案要复杂一些,但很高兴知道它存在。

    此外,当使用NSScanner 时,您必须构造正确的 NSCharacterSet。查看其文档以了解其工作原理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-01
      • 2020-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多