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