iOS开发技巧整理03

字符串常用方法整理

Nsstring为不可变字符串,赋值后没有系统函数可以对其做任何改变
1、声明并初始化一个字符串
NSString * string = @”Hello”;
2、判断两个字符串是否相等,返回值为YES或NO
[string1  isEqualToString :string2];
3、(1)比较大小返回值为1大于;为0等于;为-1小于
[string1  compare :string2];
(2)忽略大小写比较两个字符串大小
[string1  caseInsensitiveCompare :b];
4、将字符串中的小写字母转换成大写字母
[string1  uppercaseString ];
5、将字符串中的大写字母转换成小写字母
[string1  lowercaseString ];
6、将字符串的首字母大写其他字母小写
[string1  capitalizedString ];
7、将字符串string2在字符串string1中进行匹配
NSRange range = [string1  rangeOfString :string2];
返回一个结构体,range.location是string2在string1中的位置,range.length是string2的长度,如果string1中有多个string2时只返回第一个的位置
8、截取从字符串开头到指定(长度)位置,组成一个新的字符串
[string1  substringToIndex :6]  不包括第6位
9、从指定位置截取到最后,组成一个新的字符串
[string1  substringFromIndex :6]包括第6位
10、从指定位置m开始截取指定个数n的字符
[string1  substringWithRange :NSMakeRange(m,n)]包括第m位
 
可变字符串NSMutableString 不能对不可变字符串使用一下函数
1、定义可变字符串
NSMutableString *string =[[NSMutableString alloc]initWithString: @”abc”];
2、将C字符串转码位可变字符串
NSMutableString *string =[[NSMutableString alloc] initWithUTF8String:@”abc”];
3、修改字符串
[string1  setString :@”abcdef”];
4、预设空间大小;会随着实际改变而改变;
   str= [NSMutableString  stringWithCapacity :3];
   str.string= @”Hello World!”;
5、NSMutableString * str4 = [NSMutableString  stringWithString :@”abc”];
6、追加字符串
[str4  appendString :@”123”];
7、追加格式化字符串
int a = 5;
[str4  appendFormat :@”a= %d”,a];
8、从指定位置开始插入字符串
[str4  insertString :@”hello”atIndex:5];
9、删除字符
[str4  deleteCharactersInRange :NSMakeRange(5,2)];//从第5位开始删除2个字符,后面的向前补
10、替换
[str4  replaceCharactersInrange :NSMakeRange(5,2) withString: @”hello”];//从第5位开始的两个字符修改为@”hello”
11、设置为C的字符串
const char * p = str. UTF8String ;
12、前缀后缀处理
NSString * str5 = @”hello world!”;
[str5  hasPrefix :@”he”];//返回值为YES或NO查看str5是否以@”he”开头
[str5  hsaSuffix :@”d!”];//返回值为YES或NO查看str5是否以@”d!”结尾
13、在objective-c中去掉字符串前后空格的方法(类似于C#中的trim方法)如下:
NSString *string = @" spaces in frontand at the end "; 
NSString *trimmedString = [string  stringByTrimmingCharactersInSet
[NSCharacterSet  whitespaceAndNewlineCharacterSet ]]; 
NSLog(trimmedString);
14、取得整个文件file里面的内容 存在字符串中
NSString  *s = [ NSString stringWithContentsOfFile :file encoding : NSUTF8StringEncoding error : nil ];
15、字符串转化
    NSString * str = @"hello";
    const char *p = [str UTF8String];将OC字符串转化为C的字符串
    
    str = @"123";
    int a = [str intValue];//将数字串转化成整型数据
        [str floatValue];//将数字串转化成float型
          [str doubleValue];//将数字串转化成double型
常用的NSString Message(OC 的字符 :typedef unsigned short unichar)
    NSLog(@"%ld",[str1 length]);   //求字符串长度
    
    NSLog(@"%c", [str1 characterAtIndex:1]);//获取字符串中的字符
    
    BOOL ret =  [str1 isEqualTo:str2];//比较两个字符串是否相等,相等返回YES(1),不相等返回NO(0)   (BOOL   YES(1)  NO(0))    
    long ret1 = [str1 compare:str2];//比较两个字符串的大小,str1大于 返回1  相等返回0   小于返回-1    
    long ret2 = [str1 caseInsensitiveCompare:str2];//不区分大小写比较字符串大小    
    NSString * ptr = [str2 uppercaseString];//将字符串中的所有小写字符转换成大写 不改变原来的字符串    
    ptr = [str1 lowercaseString];//将字符串中的所有大写字符转换成小写 不改变原来的字符串    
    ptr = [str3 capitalizedString];//将字符串中出现的第一个字母转换成大写,其余字母小写
    
    NSString * str4 = @"hello world";
    
    NSRange range = [str4 rangeOfString:@"wr"];//查找子串,找不到返回NSNotFound 找到返回location和length
    
    if (range.location != NSNotFound) {
    
        NSLog(@"%ld %ld",range.location, range.length);
    
    }
    
    NSString * str5 = @"helloworld";    
    NSString * ptr1 = [str5 substringToIndex:4];//字符串抽取 从下标0开始到4 不包括4    
    NSString * ptr2 = [str5 substringFromIndex:5];//从下标5开始抽取到字符串结束 包括5    
    NSRange range1 = {4,3};//结构体初始化    
    NSString * ptr3 = [str5 substringWithRange:range1];//在range指定范围内抽取    
    NSString * ptr4 = [str5 substringWithRange:NSMakeRange(4,3)];//NSMakeRange可以生成一个结构体              
    NSString * str = @" www.1000phone.com ";    
    BOOL ret = [str hasPrefix:@"www"];//判断字符串是否以指定字符串开头    
    
    NSString * str1 = @"1.txt";
    
    BOOL ret1 = [str hasSuffix:@".txt"];//判断字符串是否以指定的字符串结尾    
    
    NSMutableString可变字符串(动态增加和减少的)   继承于NSString可以使用NSString的所有方法
    
    NSMutableString * str =  [[NSMutableString alloc]initWithString:@"hello"];//将不可变的字符串转换为可变的字符串
    
    [str insertString:@"123" atIndex:1];//在指定下标(不要越界)位置插入NSString类型字符串
    
    [str appendString:@"123"];//在字符串末尾追加字符串
    
    [str deleteCharactersInRange:NSMakeRange(0, 2)];//从指定下标删除length个字符
    
    [str setString:@"qianfeng"];//修改字符串亦称对该可变字符串赋值
    [str replaceCharactersInRange:NSMakeRange(3, 1) withString:@"ios"];//将指定下标位置的length个字符替换为指定的字符串


猜你喜欢

转载自blog.csdn.net/xuxl0612/article/details/80264822