字符串相关函数整理

NSString

使用OC字符串创建OC字符串

- (id)initWithString:(NSString *)aString;
+ (id)stringWithString:(NSString *)string;

使用格式符创建字符串;字符串拼接

- (id)initWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
+ (id)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

使用C语言字符串创建OC字符串

- (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)encoding;
+ (id)stringWithCString:(const char *)cString encoding:(NSStringEncoding)encoding;
- (id)initWithUTF8String:(const char *)nullTerminatedCString;
+ (id)stringWithUTF8String:(const char *)nullTerminatedCString;

字符串拼接

 - (id)initWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
+ (id)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
- (NSString *)stringByAppendingString:(NSString *)aString;
- (NSString *)stringByAppendingFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2); 

计算字符串长度

- (NSUInteger)length;

获取字符串某个位置上的字符;unichar 为 unsigned short

- (unichar)characterAtIndex:(NSUInteger)index;

比较字符串

判断字符串是否相等

- (BOOL)isEqualToString:(NSString *)aString;

比较字符串大小; NSComparisonResult 为enum型 1、0、-1三个值

- (NSComparisonResult)compare:(NSString *)string;
- (NSComparisonResult)compare:(NSString *)string options:(NSStringCompareOptions)mask; // options可以用NSCaseInsensitiveSearch
- (NSComparisonResult)compare:(NSString *)string options:(NSStringCompareOptions)mask range:(NSRange)compareRange;
- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string; // 忽略大小写的比较

大小写转化

- (NSString *)uppercaseString;
- (NSString *)lowercaseString;
- (NSString *)capitalizedString;

字符串查找

- (NSRange)rangeOfString:(NSString *)aString;
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask;
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)searchRange;

判断字符串前后缀

- (BOOL)hasPrefix:(NSString *)aString;
- (BOOL)hasSuffix:(NSString *)aString;

字符串截取

- (NSString *)substringFromIndex:(NSUInteger)from;
- (NSString *)substringToIndex:(NSUInteger)to;
- (NSString *)substringWithRange:(NSRange)range;

字符串切割与合并

- (NSArray *)componentsSeparatedByString:(NSString *)separator;
- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator NS_AVAILABLE(10_5, 2_0);

字符串与二进制文件的转换;NSString 转 NSData

- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)lossy;
- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding;

可变字符串方法

NSMutableString; 可变字符串不能直接指向字符串
可变字符串创建

- (id)initWithCapacity:(NSUInteger)capacity;
+ (id)stringWithCapacity:(NSUInteger)capacity;

可变字符串增加内容

- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;
- (void)appendString:(NSString *)aString;
- (void)appendFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

可变字符串修改内容

- (void)setString:(NSString *)aString;
- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString;
- (NSUInteger)replaceOccurrencesOfString:(NSString *)target withString:(NSString *)replacement options:(NSStringCompareOptions)options range:(NSRange)searchRange; // 替换字符串 返回替换个数

可变字符串删除内容

- (void)deleteCharactersInRange:(NSRange)range;

过滤字符串中的特殊符号

过滤空格与回车

[NSString stringByTrimmingCharactersInSet: [NSCharacterSetwhitespaceAndNewlineCharacterSet]];

可自己编写过滤符号的set

NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*+=_\\|~<>$€^•'@#$%^&*()_+'\""];

你可能感兴趣的:(iOS基础笔记)