OC : NSCharacterSet (字符串的操作)

API

//相反字符串限制
@property (readonly, copy) NSCharacterSet *invertedSet;
+ (NSMutableCharacterSet *)controlCharacterSet;

//空格
+ (NSMutableCharacterSet *)whitespaceCharacterSet;

//空格和换行符
+ (NSMutableCharacterSet *)whitespaceAndNewlineCharacterSet;

//0-9的数字
+ (NSMutableCharacterSet *)decimalDigitCharacterSet;

//所有字母
+ (NSMutableCharacterSet *)letterCharacterSet;

//小写字母
+ (NSMutableCharacterSet *)lowercaseLetterCharacterSet;

//大写字母
+ (NSMutableCharacterSet *)uppercaseLetterCharacterSet;

//非基础字符
+ (NSMutableCharacterSet *)nonBaseCharacterSet;

//字母数字
+ (NSMutableCharacterSet *)alphanumericCharacterSet;

//可分解字符
+ (NSMutableCharacterSet *)decomposableCharacterSet;

//非法字符
+ (NSMutableCharacterSet *)illegalCharacterSet;

//标点符号
+ (NSMutableCharacterSet *)punctuationCharacterSet;

//大写字母
+ (NSMutableCharacterSet *)capitalizedLetterCharacterSet;

//符号
+ (NSMutableCharacterSet *)symbolCharacterSet;

//换行符
+ (NSMutableCharacterSet *)newlineCharacterSet NS_AVAILABLE(10_5, 2_0);

+ (NSMutableCharacterSet *)characterSetWithRange:(NSRange)aRange;

+ (NSMutableCharacterSet *)characterSetWithCharactersInString:(NSString *)aString;

+ (NSMutableCharacterSet *)characterSetWithBitmapRepresentation:(NSData *)data;

+ (nullable NSMutableCharacterSet *)characterSetWithContentsOfFile:(NSString *)fName;

例子1

    NSString *str = @"7sjf78sf990s";

     NSLog(@"set----%@",[str componentsSeparatedByCharactersInSet:set]);

    NSCharacterSet *invertedSet = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet];

    NSLog(@"invertedSet----%@",[str componentsSeparatedByCharactersInSet:invertedSet]);
 //打印结果如下图:  【可以看出invertedSet后,刚好判断条件相反】

例子2 textField只能输入数字

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    NSCharacterSet *charSet = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet];
    NSString *filteredStr = [[string componentsSeparatedByCharactersInSet:charSet] componentsJoinedByString:@""];
    if ([string isEqualToString:filteredStr]) {
        return YES;
    }
    return NO;
}

相关阅读:

https://www.zybuluo.com/chinese-ppmt/note/609656

http://www.zhimengzhe.com/IOSkaifa/60503.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值