NSString 常用处理方法
来源:互联网 发布:共享单车app源码 编辑:程序博客网 时间:2024/04/28 09:26
1.初始化方法
- (instancetype)init; // 基本的初始化方法,返回值类型表示 当前类;
- (instancetype)initWithString:(NSString *)aString; // 用字符串给字符串初始化,(NSString *)aString 用来指定字符串;
- (instancetype)initWithFormat:(NSString *)format, ... ; // 用NSLog()格式进行字符串初始化,可用于字符串的拼接(NSString *)format, ... 用来指定占位符
2. 便利构造器
每个系统初始化方法都有对应的便利构造器方法,便利构造器有进行内存优化,在MRC模式下不用对便利构造器初始化的对象进行release或autorelease操作,便利构造器都是类方法(即 加号方法);
+ (instancetype)string;
+ (instancetype)stringWithString:(NSString *)aString;
+ (instancetype)stringWithFormat:(NSString *)format,, ...;
3. 求字符串长度方法
- (NSUInteger)length; // 返回值类型为无符号长整形(64位系统), 用%lu打印;
4.判断
1).判断字符串是否以指定字符串开始(即 前缀)
- (BOOL)hasPrefix:(NSString *)aString; //返回值类型为BOOL型,常作判断条件使用;
2).判断字符串是否以指定字符串结束
- (BOOL)hasSuffix:(NSString *)aString; // 同上
5.比较
1).比较字符串是否相等
- (BOOL)isEqualToString:(NSString *)aString; // 如题, 返回值类型为BOOL型;2).比较字符串大小
- (NSComparisonResult)compare:(NSString *)aString; // 如题,返回值类型是枚举,如下,小于返回-1,等于返回0,大于返回1;
enum { NSOrderedAscending = -1, NSOrderedSame, NSOrderedDescending }; typedef NSInteger NSComparisonResult;
3).不考虑大小写比较大小
- (NSComparisonResult)caseInsensitiveCompare:(NSString *)aString; // 如题,返回值类型同上;
6. 搜索字符串位置范围
- (NSRange)rangeOfString:(NSString *)aString; // 搜索参数字符串在 调用这个方法的字符串 里的位置,返回值类型为结构体,分别是位置和长度,如下; 调用时要创建一个NSRange类型的对象进行接收,NSRange不是指针变量,创建时不要加"*", 如果搜索不到会返回NSNotFound ,是一个很大的数;
typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange;
7.字符串的截取(获取字符串)
- (NSString *)substringToIndex:(NSUInteger)anIndex; // 从字符串开头一直截取到指定位置,返回类型为(NSString *),(因为是不可变字符串)需要创建个对象进行接收;
- (NSString *)substringWithRange:(NSRange)aRange; // 根据指定范围返回子字符串,返回类型同上;
- (NSString *)substringFromIndex:(NSUInteger)anIndex; // 从指定位置开始截取字符串直到结束, 返回类型同上;
8. 字符串的拼接
- (NSString *)stringByAppendingString:(NSString *)aString; // 将参数字符串拼接到调用这个方法字符串的后面,并返回一个新字符串,返回值类型同上;
- (NSString *)stringByAppendingFormat:(NSString *)format, ...; // 将参数字符串以NSLog()格式拼接到调用这个方法的字符串后面,并返回一个新字符串,返回值类型同上;
还可以重新用initWithFormat或stringWithFormat初始化创建一个字符串.
9.字符串替换
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement; // 用后面的参数字符串替换前面的参数字符串,返回一个新字符串.举个栗子
NSString *str = @"我宣你"; NSString *str2 = [str stringByReplacingOccurrencesOfString:@"宣" withString:@"恨"]; NSLog(@"%@", str2); // 会打印出"我恨你";
- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement;将后面的字符串替换掉调用方法字符串的某个位置范围,并返回一个新的字符串;再举个栗子;
NSString *str = @"我宣你"; NSString *str2 = [str stringByReplacingCharactersInRange:NSMakeRange(1, 1) withString:@"狠"]; NSLog(@"%@", str2); // 又是一个悲伤的故事
10. 字符串和数值类型转换
太简单了不想打 - (要转换成的类型)要转换的类型Value; // 就行,这是把字符串转换成其他类型(有double,float,int,integer,longlong,bool);
将其他类型转换成字符串.用stringWithFormat初始化创建一个即可;
11.大小写转换
- (NSString *)lowercaseString; //全部转换成小写, 并返回一个新字符串
- (NSString *)uppercaseString;// 全部转换成大写,并返回一个新字符串;以上返回值类型是NSString *的为不可变字符串;
不可变字符串的修改操作本质是获得一个新字符串;
修改方法都已string开头;
可变字符串NSMutableString *继承与NSString,也可以调用以上方法但原字符串不发生改变;
12. 初始化同1.;便利构造器同2. ;
13.拼接字符串
- (void)appendString:(NSString *)aString; // 在原字符串后面拼接参数字符串;
- (void)appendFormat:(NSString *)format ...; // 原字符串后面用NSLog()格式拼接参数字符串;
14.插入字符串
- (void)insertString:(NSString *)aString atIndex:(NSUInteger)anIndex; // 在指定位置插入参数字符串;
15.删除字符串
- (void)deleteCharactersInRange:(NSRange)aRange; // 删除指定位置范围的字符串;
以后的学习,还会涉及更多的字符串处理方法;
以上是基本基础的字符串处理方法;
16. 截取字符串,并将截取的字符串存放在数组里
- (NSArray *)componentsSeparatedByString:(NSString *)separator; //从参数字符串处(参数字符串除外)截取,把截取后的子字符串存到一个数组里;返回值类型:数组;有多少个参数字符串就截成多少 + 1个元素(参数字符串在开头结尾的除外);
17. 获取文件里的字符串
- (instancetype)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error; //第一个参数是文件路径,第二个参数是枚举,表示是字符编码,最后的参数是错误信息(没用过不知道咋用,一般我是填一个nil),返回一个当前类型;
作用:获取.txt文件里的字符串, 以及等等``````以下是枚举,常用第四个:UTF-8
enum { NSASCIIStringEncoding = 1,/* 0..127 only */ NSNEXTSTEPStringEncoding = 2, NSJapaneseEUCStringEncoding = 3, NSUTF8StringEncoding = 4, NSISOLatin1StringEncoding = 5, NSSymbolStringEncoding = 6, NSNonLossyASCIIStringEncoding = 7, NSShiftJISStringEncoding = 8, /* kCFStringEncodingDOSJapanese */ NSISOLatin2StringEncoding = 9, NSUnicodeStringEncoding = 10, NSWindowsCP1251StringEncoding = 11, /* Cyrillic; same as AdobeStandardCyrillic */ NSWindowsCP1252StringEncoding = 12, /* WinLatin1 */ NSWindowsCP1253StringEncoding = 13, /* Greek */ NSWindowsCP1254StringEncoding = 14, /* Turkish */ NSWindowsCP1250StringEncoding = 15, /* WinLatin2 */ NSISO2022JPStringEncoding = 21, /* ISO 2022 Japanese encoding for e-mail */ NSMacOSRomanStringEncoding = 30, NSUTF16StringEncoding = NSUnicodeStringEncoding, /* An alias for NSUnicodeStringEncoding */ NSUTF16BigEndianStringEncoding = 0x90000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */ NSUTF16LittleEndianStringEncoding = 0x94000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */ NSUTF32StringEncoding = 0x8c000100, NSUTF32BigEndianStringEncoding = 0x98000100, /* NSUTF32StringEncoding encoding with explicit endianness specified */ NSUTF32LittleEndianStringEncoding = 0x9c000100 /* NSUTF32StringEncoding encoding with explicit endianness specified */};typedef NSUInteger NSStringEncoding;
0 0
- NSString 常用处理方法
- NSString 常用处理方法
- nsstring常用处理
- NSString字符串常用方法
- NSString字符串常用方法
- NSString字符串常用方法
- NSString字符串常用方法
- NSString常用方法
- NSString常用方法总结
- NSString常用方法实例
- NSString 常用方法总结
- NSString常用方法
- NSString 常用方法汇总
- NSString 常用方法总结
- NSString的常用方法
- NSString字符串常用方法
- NSString常用方法
- NSString常用方法
- Linux——信号量(同步)
- 2014腾讯校招软开类笔试题
- CSS 继承
- linux 进程(关于守护进程、检查一个进程是否活着、如何写一个进程号文件)
- 关于java方法调用时产生的StackFrame内部内容。
- NSString 常用处理方法
- java创建文件和目录
- [转]win7中java环境变量配置
- 学习Linux系统的十一点建议
- 从 C/C++ 程序调用 Java 代码
- 服务器集群后,共享session问题
- Unreal Enginer4特性介绍-牛B闪闪的UE4
- launchAnyWhere: Activity组件权限绕过漏洞解析
- Android-code-bitmapcche