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"]; |