[iOS学习] NSCharacterSet的使用详解
来源:互联网 发布:防御sql注入的手段 编辑:程序博客网 时间:2024/06/07 09:30
NSCharacterSet和NSMutableCharacterSet是用来表示一组Unicode字符,它经常与NSString及NSScanner组合起来使用,在不同的字符上做过滤、删除或者分割操作。
1. 系统提供的常用的创建NSCharacterSet的类方法
[NSCharacterSet alphanumericCharacterSet]; //所有数字和字母(大小写) [NSCharacterSet decimalDigitCharacterSet]; //0-9的数字 [NSCharacterSet letterCharacterSet]; //所有字母 [NSCharacterSet lowercaseLetterCharacterSet]; //小写字母 [NSCharacterSet uppercaseLetterCharacterSet]; //大写字母 [NSCharacterSet punctuationCharacterSet]; //标点符号 [NSCharacterSet whitespaceAndNewlineCharacterSet]; //空格和换行符 [NSCharacterSet whitespaceCharacterSet]; //空格
2. 通过自定义创建NSCharacterSet的方法
[NSCharacterSet characterSetWithCharactersInString:@"Hello"]; //String中的文字组成的set [NSCharacterSet characterSetWithRange:NSMakeRange(48, 10)]]; // ascll码,此处为(0-9) [[NSCharacterSet decimalDigitCharacterSet] invertedSet]; // 数字之外的字符组成的set
3. 判断一个字符是否在set中—例子中是判断0是否在数字set中
[[NSCharacterSet decimalDigitCharacterSet] characterIsMember:48];
4. 判断一个set是否是另一个set的”超set”
[[NSCharacterSet alphanumericCharacterSet] isSupersetOfSet:[NSCharacterSet decimalDigitCharacterSet]
5. NSMutableCharacter的方法
NSMutableCharacterSet *set1 = [NSMutableCharacterSet characterSetWithCharactersInString:@"Hell"]; NSMutableCharacterSet *set2 = [NSMutableCharacterSet characterSetWithCharactersInString:@"ello"]; //去掉某些字符 [set2 removeCharactersInString:@"e"]; //--->l, o //加上某些字符 [set2 addCharactersInString:@"e"]; //--->e, l, o //set相加 [set2 formUnionWithCharacterSet:set1]; //--->H,e,l,o //set交集 [set2 formIntersectionWithCharacterSet:set1]; //--->e,l //set取反[set2 invert];
例子
//例子1:去除两边的空格 [@" aaa " stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; //例子2:通过数字把字符串变成数组 [@"a1aa2aaa3aaaa4aaaaa" componentsSeparatedByCharactersInSet:[NSCharacterSet decimalDigitCharacterSet]];
一个非常好的例子,来源于http://nshipster.com/nscharacterset/, 去掉多余的空格(包括两端的和中间的)
NSString *exampleStr = @" My name is Johnny!"; exampleStr = [exampleStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; NSArray *exampleArr = [exampleStr componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self <> ''"]; exampleArr = [exampleArr filteredArrayUsingPredicate:predicate]; exampleStr = [exampleArr componentsJoinedByString:@" "];
阅读全文
0 0
- [iOS学习] NSCharacterSet的使用详解
- iOS中NSCharacterSet的使用详解
- ios NSCharacterSet使用讲解
- NSCharacterSet 的使用
- NSCharacterSet的使用
- iOS关于NSCharacterSet 的用法
- NSCharacterSet 详解
- iOS之NSStirng使用集合、NSCharacterSet
- ios开发之NSCharacterSet
- iOS 基础类解析 - NSCharacterSet
- NSCharacterSet
- NSCharacterSet
- NSCharacterSet
- 117.NSCharacterSet-字符集使用总结
- NSCharacterSet 最常用的用法
- NSCharacterSet的各个枚举类型
- NSCharacterSet 对于字符串的处理
- ios开发答疑录系列---(五)NSString 和NSCharacterset的不同之处
- linux(十一)之初始化文件
- 全卷积网络FCN几点认识
- Oracle之with as 语法-yellowcong
- 常用排序之冒泡排序
- Android学习笔记三十九之文件上传和下载
- [iOS学习] NSCharacterSet的使用详解
- redis 数据结构使用场景
- Android启动过程深入解析
- Merge branch 'master' of https://git.coding.net/app-develop/iOS_xxxx Please enter a commit
- Matplotlib输出中文显示问题
- haoi2008木棍分割解题报告
- Android学习笔记四十之Handler
- 箱体图Boxplot及Python绘制方法
- C#中的集合之ArryList