Foundation: NSSTring 的基本用法

常用API

Substrings( 截取字符串)

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

String comparison and equality( 字符串的比较 )

typedef NS_ENUM(NSInteger,NSComparisonResult){
NSOrderedAscending = -1L, //升序,相同和降序
NSOrderedSame, 
NSOrderedDescending
};  

typedef NS_OPTIONS(NSUInteger, NSStringCompareOptions) {
NSCaseInsensitiveSearch = 1,        //不区分大小写排序
NSLiteralSearch = 2,                       //逐字节比较 区分大小写
NSBackwardsSearch = 4,               //从字符串后面开始检索排序
NSAnchoredSearch = 8,                 /搜索限制范围的字符串(如果搜索 选项含有“搜索限制范围的字符串”)
NSNumericSearch = 64, //按照字符串里的第一组数字为依据,算出顺序。例如 Foo2.txt < Foo7.txt < Foo25.txt
NSDiacriticInsensitiveSearch //忽略字符“-”
NSWidthInsensitiveSearch //忽略字符串的长度,比较出结果
NSForcedOrderingSearch //忽略不区分大小写比较的选项,并强制返回 NSOrderedAscending 或者NSOrderedDescending,
NSRegularExpressionSearch //只能应用于 rangeOfString:...,stringByReplacingOccurrencesOfString:...和 replaceOccurrencesOfString:... 方法。使用通用兼容的比较方法,如果设置此项,可以去掉 NSCaseInsensitiveSearch 和 NSAnchoredSearch
};

- (NSComparisonResult)compare:(NSString*)string; //两个字符串的比较,返回排序结果
- (NSComparisonResult)compare:(NSString*)string options:(NSStringCompareOptions)mask; //带有NSStringCompareOptions选项的排序结果

- (NSComparisonResult)compare:(NSString*)string  options:(NSStringCompareOptions)mask range:(NSRange)rangeOfReceiverToCompare;//排序范围为sourceString(源字符串)的范围

- (NSComparisonResult)compare:(NSString*)string options:(NSStringCompareOptions)mask range:(NSRange)rangeOfReceiverToCompare locale:(nullable id)locale; //locale为NSLocale类型,APP当前使用的地区语言

- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;//不区分大小写比较

- (NSComparisonResult)localizedCompare:(NSString*)string;//根据当前app使用的地方文字进行排序

- (NSComparisonResult)localizedCaseInsensitiveCompare:(NSString *)string;//根据当前app使用的地方文字进行不区分大小写排序

String searching(字符串搜索)

- (BOOL)hasPrefix:(NSString *)str;       //带有前缀
- (BOOL)hasSuffix:(NSString *)str;       //带有后缀
- (BOOL)containsString:(NSString *)str; //包含子字符串
- (BOOL)localizedCaseInsensitiveContainsString:(NSString *)str;
- (BOOL)localizedStandardContainsString:(NSString *)str;
- (NSRange)localizedStandardRangeOfString:(NSString *)str;
- (NSString*)commonPrefixWithString:(NSString*)str options:(NSStringCompareOptions)mask;  //比较两个字符是否带有相同前缀
- (NSRange)rangeOfString:(NSString *)searchString;//子字符串在字符串的位置
- (NSRange)rangeOfString:(NSString*)searchString options:(NSStringCompareOptions)mask;
- (NSRange)rangeOfString:(NSString*)searchString options:(NSStringCompareOptions)mask range:(NSRange)rangeOfReceiverToSearch;
- (NSRange)rangeOfString:(NSString*)searchString options:(NSStringCompareOptions)mask range:(NSRange)rangeOfReceiverToSearch locale:( NSLocale *)locale

Case changing(大小写变换)

@property (readonly, copy) NSString *uppercaseString;
@property (readonly, copy) NSString *lowercaseString;
@property (readonly, copy) NSString *capitalizedString;

@property (readonly, copy) NSString *localizedUppercaseString 
@property (readonly, copy) NSString *localizedLowercaseString 
@property (readonly, copy) NSString *localizedCapitalizedString 

- (NSString *)uppercaseStringWithLocale:(nullable NSLocale *)locale NS_AVAILABLE(10_8, 6_0);
- (NSString *)lowercaseStringWithLocale:(nullable NSLocale *)locale NS_AVAILABLE(10_8, 6_0);
- (NSString *)capitalizedStringWithLocale:(nullable NSLocale *)locale NS_AVAILABLE(10_8, 6_0);

Finding lines, sentences, words(查找行,句子,段落)

typedef NS_OPTIONS(NSUInteger, NSStringEnumerationOptions) {
    NSStringEnumerationByLines = 0,      //按行查找
    NSStringEnumerationByParagraphs = 1,       //按段落查找
    NSStringEnumerationByComposedCharacterSequences = 2, 
    NSStringEnumerationByWords = 3,  //按字查找
    NSStringEnumerationBySentences = 4, //按句子查找
    NSStringEnumerationReverse = 1UL << 8,
    NSStringEnumerationSubstringNotRequired = 1UL << 9,
    NSStringEnumerationLocalized = 1UL << 10              // User's default locale
};

// 按NSStringEnumerationOptions选项进行文本遍历
- (void)enumerateSubstringsInRange:(NSRange)range options:(NSStringEnumerationOptions)opts usingBlock:(void (^)(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop))block ;
- (void)enumerateLinesUsingBlock:(void (^)(NSString *line, BOOL *stop))block;

trim、componentSeparator、replace(字符串的裁剪、分割、替换)

- (NSArray *)componentsSeparatedByString:(NSString *)separator;//常见的分割url获取文件名
- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator//按字符集的方式分割,用得较少

- (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set;  //常见的去除头尾的空白和换行符whitespaceCharacterSet
- (NSString *)stringByPaddingToLength:(NSUInteger)newLength withString:(NSString *)padString startingAtIndex:(NSUInteger)padIndex;

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;
//按options方式查找,并指定字符串替换目标字符串的的相关查找位置的字符
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement options:(NSStringCompareOptions)options range:(NSRange)searchRange ;

你可能感兴趣的:(Foundation: NSSTring 的基本用法)