Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理
NSString
字符串属性
1 | //////////字符串属性////////// |
字符串截取
1 | //截取指定位置之后的字符串 |
字符串比较
将两个字符串进行计较,返回NSComparisonResult枚举结果
比较结果:
| NSComparisonResult | 说明 |
|---|---|
| NSOrderedAscending | 升序 (左小右大) |
| NSOrderedSame | 相同 (内容相同) |
| NSOrderedDescending | 降序 (左大右小) |
比较选项:
| NSStringCompareOptions | 说明 |
|---|---|
| NSCaseInsensitiveSearch | 不区分大小写比较 |
| NSLiteralSearch | 区分大小写比较 |
| NSBackwardsSearch | 从字符串末尾开始搜索 |
| NSAnchoredSearch | 搜索限制范围的字符串 |
| NSNumericSearch | 按照字符串里的数字为依据,算出顺序 |
| NSDiacriticInsensitiveSearch | 忽略 “-“ 符号的比较 |
| NSWidthInsensitiveSearch | 忽略字符串的长度,比较出结果 |
| NSForcedOrderingSearch | 忽略不区分大小写比较的选项 |
| NSRegularExpressionSearch | 只能应用于 rangeOfString:…, stringByReplacingOccurrencesOfString:…和 replaceOccurrencesOfString:…方法 |
1 | //////////字符串比较////////// |
字符串搜索
1 | //////////搜索基本////////// |
字符串拼接
1 | //////////字符串拼接////////// |
字符串基本类型转换
1 | //////////字符串基本类型转换////////// |
字符串大小写转换
1 | //////////字符串大小写转换////////// |
字符串分行,分段
1 | //////////分行////////// |
字符串列举(按条件)
列举选项:
| NSStringEnumerationOptions | 说明 |
|---|---|
| NSStringEnumerationByLines | 按行 |
| NSStringEnumerationByParagraphs | 按段落 |
| NSStringEnumerationByComposedCharacterSequences | 按字符顺序 |
| NSStringEnumerationByWords | 按单词,字 |
| NSStringEnumerationBySentences | 按句子 |
| NSStringEnumerationReverse | 反向遍历 |
| NSStringEnumerationSubstringNotRequired | 不需要子字符串 |
| NSStringEnumerationLocalized | 本地化 |
1 | //////////字符串列举////////// |
字符串编码和转换
1 | //////////字符串编码和转换////////// |
1 | //1.选择编码,是否允许有损编码 |
字符串分割
######字符集合:
| NSCharacterSet | 说明 |
| ——————————– | —– |
| controlCharacterSet | 控制符 |
| whitespaceCharacterSet | 空格符 |
| whitespaceAndNewlineCharacterSet | 空格换行符 |
| decimalDigitCharacterSet | 小数 |
| letterCharacterSet | 文字 |
| lowercaseLetterCharacterSet | 小写字母 |
| uppercaseLetterCharacterSet | 大写字母 |
| nonBaseCharacterSet | 非基础 |
| alphanumericCharacterSet | 数字字母 |
| decomposableCharacterSet | 可分解 |
| illegalCharacterSet | 非法 |
| punctuationCharacterSet | 标点 |
| capitalizedLetterCharacterSet | 大写 |
| symbolCharacterSet | 符号 |
| newlineCharacterSet | 换行符 |
1 | //////////字符串分割////////// |
字符串操作(修剪,填充,折叠,替换)
1 | NSString *string = @"3EWRs a;af"; |
字符串翻译
######翻译选项:
| 翻译选择 | 说明 |
|---|---|
| NSStringTransformLatinToKatakana | 拉丁->片假名 |
| NSStringTransformLatinToHiragana | 拉丁->平假名 |
| NSStringTransformLatinToHangul | 拉丁->韩语 |
| NSStringTransformLatinToArabic | 拉丁->阿拉伯语 |
| NSStringTransformLatinToHebrew | 拉丁->希伯来语 |
| NSStringTransformLatinToThai | 拉丁->泰国 |
| NSStringTransformLatinToCyrillic | 拉丁->西里尔字母 |
| NSStringTransformLatinToGreek | 拉丁->希腊 |
| NSStringTransformToLatin | 拉丁 |
| NSStringTransformMandarinToLatin | 普通话->拉丁 |
| NSStringTransformHiraganaToKatakana | 平假名->片假名 |
| NSStringTransformFullwidthToHalfwidth | 全角->半角 |
| NSStringTransformToXMLHex | XML16进制 |
| NSStringTransformToUnicodeName | Unicode名 |
| NSStringTransformStripCombiningMarks | 结合地带商标 |
| NSStringTransformStripDiacritics | 带音符 |
1 | //////////字符串翻译////////// |
字符串写入
1 | //////////字符串写入////////// |
NSMutableString
继承自NSString
NSString中的方法在NSMutableString都可以使用
NSMutableString是动态的字符串,可以动态的添加,修改,删除等
可变字符串分配容量
提前指定的容量,知识用于内存优化,实际大小可以大于设置的容量capacity
1 | //////////字符串分配容量////////// |
可变字符串扩展方法
1 | NSMutableString *str = [NSMutableString stringWithString:@"string"]; |