【发布时间】:2013-11-13 10:11:11
【问题描述】:
如何获取NSString 中的唯一字符?
我要做的是获取NSString 中的所有非法字符,以便我可以提示用户输入了哪些字符,因此需要将其删除。我首先定义一个合法字符的NSCharacterSet,将它们与每个合法字符的出现分开,并将剩下的(只有非法字符)加入一个新的NSString。我现在正计划获取新 NSString 的独特字符(希望是一个数组),但我在任何地方都找不到参考。
NSCharacterSet *legalCharacterSet = [NSCharacterSet
characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789-()&+:;,'.# "];
NSString *illegalCharactersInTitle = [[self.titleTextField.text.noWhitespace
componentsSeparatedByCharactersInSet:legalCharacterSet]
componentsJoinedByString:@""];
【问题讨论】:
-
为什么不对文本字段应用格式化程序,这样就不可能输入非法字符。这将提供一个更实用的解决方案。
-
大佬要我显示显示了哪些非法字符。我认为这真的很愚蠢,但我只是一个程序员。
-
不将它们分开而是使用
NSAttributedString在原始文本中突出显示它们怎么样?只需从一个新的属性可变字符串开始,循环遍历所有字符并附加它们,如果它们是非法的,则将它们附加为红色。
标签: ios iphone objective-c cocoa-touch nsstring