iOS 使用NSCharactorSet,过滤再也不用求正则
虽然网上已有很多写好的正则可以直接套用,但开发中,不乏产品特殊需求
下面给大家推荐一个类,让过滤变得更加便捷
------- NSCharactorSet
在ios中 可以使用stringByTrimmingCharactersInSet函数过滤字符串中的特殊符号
首先我们定义一个NSCharacterSet, 包含需要去除的特殊符号
NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*+=_\\|~<>$€^•'@#$%^&*()_+'\""];
由于NSString中有全角符号和半角符号, 因此有些符号要包括全角和半角的
然后调用stringByTrimmingCharactersInSet
NSString *trimStr = [string stringByTrimmingCharactersInSet:set];
trimmedString就是过滤后的字符串
代码如下:(三行代码)
NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString * username = [mUsernameField stringValue];
username = [username stringByTrimmingCharactersInSet:whitespace];
注释:
stringByTrimmingCharactersInSet:
Returns a new string made by removing from both ends of the receiver characters contained in a given character set.
whitespaceAndNewlineCharacterSet
Returns a character set containing only the whitespace characters space (U+0020) and tab (U+0009) and the newline and nextline characters (U+000A–U+000D, U+0085).
另外可以用 whitespaceCharacterSet 替换 whitespaceAndNewlineCharacterSet 区别newline nextline
whitespaceCharacterSet
Returns a character set containing only the in-line whitespace characters space (U+0020) and tab (U+0009).
NSString *temptext = [messageTextField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSString *text = [temptext stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet ]];
第1行是去除2端的空格
第2行是去除回车
参考 :http://blog.sina.com.cn/s/blog_5421851501014xif.html