目录
1. NSCharacterSet
2. NSMutableCharacterSet
水滴石穿 铁杵成针
前言
1. 可用于删除字符串的指定字符
1. NSCharacterSet
NSCharacterSet : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
- characterSetWithCharactersInString
// 根据字符串生成一个NSCharacterSet对象
// 可用于componentsSeparatedByCharactersInSet分割字符串,以该字符串所有单个字符为分隔符
NSCharacterSet *characterSet=[NSCharacterSet characterSetWithCharactersInString:@"He"];
// 取反
NSCharacterSet *characterInvertSet=[characterSet invertedSet];
例1(删除字符串"Hello World!hello NSCharacterSet!"中的H、e)
NSString *str=@"Hello World!hello NSCharacterSet!";
//
NSCharacterSet *characterSet=[NSCharacterSet characterSetWithCharactersInString:@"He"];
// 先以H、e将字符串分割成数组,然后再拼接
NSString *resultStr=[[str componentsSeparatedByCharactersInSet:characterSet]componentsJoinedByString:@""];
// llo World!hllo NSCharactrSt!
NSLog(@"%@",resultStr);
- invertedSet
// 以相反的字符串进行分割,再拼接
NSCharacterSet *characterInvertSet=[characterSet invertedSet];
例1
// 以相反的字符串进行分割,再拼接
NSCharacterSet *characterInvertSet=[characterSet invertedSet];
NSString *resultInvertStr=[[str componentsSeparatedByCharactersInSet:characterInvertSet]componentsJoinedByString:@""];
// Heeee
NSLog(@"%@",resultInvertStr);
- 快捷NSCharacterSet
// 空格
NSCharacterSet *characterSet=[NSCharacterSet whitespaceCharacterSet];
常用
whitespaceCharacterSet // 空格
newlineCharacterSet // 换行
whitespaceAndNewlineCharacterSet // 空格和换行
decimalDigitCharacterSet // 0-9的数字
letterCharacterSet // 所有字母
lowercaseLetterCharacterSet // 小写字母
uppercaseLetterCharacterSet // 大写字母
alphanumericCharacterSet // 所有数字和字母(大小写不分)
punctuationCharacterSet // 标点符号
controlCharacterSet
nonBaseCharacterSet
alphanumericCharacterSet
decomposableCharacterSet
illegalCharacterSet
capitalizedLetterCharacterSet
symbolCharacterSet
2. NSMutableCharacterSet
NSMutableCharacterSet : NSCharacterSet <NSCopying, NSMutableCopying, NSSecureCoding>
- addCharactersInString、removeCharactersInString
// 添加字符
[muSet addCharactersInString:@"o"];
// 删除字符
[muSet removeCharactersInString:@"H"];
例1
NSString *str=@"Hello World!hello NSCharacterSet!";
NSMutableCharacterSet *muSet=[NSMutableCharacterSet characterSetWithCharactersInString:@"He"];
[muSet addCharactersInString:@"o"];
[muSet removeCharactersInString:@"H"];
NSString *resultTStr=[[str componentsSeparatedByCharactersInSet:muSet]componentsJoinedByString:@""];
// Hll Wrld!hll NSCharactrSt!
NSLog(@"%@",resultTStr);
- invert
注意:这个方法没有返回值
// 以相反的字符串进行分割,再拼接
[muSet invert];
例1
NSMutableCharacterSet *muSet=[NSMutableCharacterSet characterSetWithCharactersInString:@"He"];
[muSet invert];
NSString *resultTStr=[[str componentsSeparatedByCharactersInSet:muSet]componentsJoinedByString:@""];
// Heeee
NSLog(@"%@",resultTStr);
网友评论