iOS中字符串的的基本操作

字符串相关操作:

创建字符串:

NSString* temp = @”字符串的内容”;    //这是一个不可变的串(可变的在下面)

//temp指向一个字符串常量,不在堆区分配内存,不能dealloc,无需release和retain,在整个程序运行过程中都存在

 

♠创建可变字符串并且初始化

NSMutableString* string = [[NSMutableString alloc] initWithString:@"56"]; //创建一个可变字符串并初始化为:56

♠charstr[100] = “hello world”;  //直接创建一个字符数组

 

♠stringWithFormat

可以将各种类型的变量整合成一个NSString的串(创建一个格式化的串)

NSString*str3=[NSStringstringWithFormat:@”%d%f %s %@",a,b,str2,str1];

 

♠stringWithString

创建一个已有字符串的副本(相当于复制一个)

NSString* str4 = [NSString stringWithString:str1]; //str4是str1的复制版

 

♠stringWithUTF8String

将c语言的串转化成NSStr串()

NSString* str5 = [NSString stringWithUTF8String:str2]; //str2是c的字符串,,str5是OC的NSString.

 

♠实例方法创建(把任意形式的串转换为OC的NSString)

NSString*str6 = [[NSString alloc] initWithFormat:@"组合:%d %@",a,str1];//创建并组合任意个数的串

 

♠求串长

NSLog(@"%lu",str6.length);  //输出字符串str6的长度

 

♠遍历字符串

NSUInteger len = str6.length; //NSUInteger相当于int 

for (int i = 0; i<len; i++)

{

               NSLog(@"%C",[str6characterAtIndex:i]);  //数组下标索引

}

 

♠创建一个可变字符串(可以对串进行增删改操作,不可变串不行)

NSMutableString * str =[[NSMutableString alloc] init];

 

♠插入串

[strinsertString:@"hello" atIndex:0]; //在0位置插入hello,保存到str

 

♠替换串内容

[strreplaceCharactersInRange:NSMakeRange(str.length-1, 1)withString:@"k"];//在长度减1的位置插入1位宽的k  保存到str

 

♠在串后面追加串

[str appendString:@"world"];//在str的最后面追加world

 

♠OC的NSString 转成 C的字符串

const char *str3 = [str1UTF8String];   //str1是OC的NSString  转成C的str3

 

♠OC的NSString 转 数字串

NSString * str4 =@"123";   //内容为数字的NSString串

NSLog(@"%d  %g",[str4 intValue],[str4doubleValue]);  //分别转换为int 和 double

 

♠大小写转换

NSString * str6 = [str5uppercaseString]; //把str5中的小写字母转换成大写字母保存到str6

NSString * str7 = [str6lowercaseString];//把str6中的大写字母转换成小写字母保存到str7;

 

♠字符拼接

NSString * str8 = [str5stringByAppendingFormat:@"%@",str6]; //把str5和str6拼接起来保存到str8中

 

♠去除字符串两端的指定字符

NSString * str6 =@",md123./";

NSCharacterSet * mySet =[NSCharacterSet characterSetWithCharactersInString:@",md./"]; //去除两端的 ,md./

NSString * str7 = [str6stringByTrimmingCharactersInSet:mySet]; //输出新的串

NSLog(@"%@",str7);

 

♠两个字符串的内容比较(比较str1 和 str2的内容)

 if ([str1 compare:str2]==NSOrderedSame)

 {

              NSLog(@"Equal");

 }

 else if ([str1compare:str2]==NSOrderedDescending)

 {

              NSLog(@"Descending");

}

else

{

      NSLog(@"Ascending");

}

 

♠比较字符串是否等于另一个字符串

if ([str3 isEqualToString:str2]== YES)  //判断str3 是否等于 str4

{

    NSLog(@"相等");

}

 

♠字符串比较的特殊情况

NSString * str4 = nil;  //  nil相当于0

if ([str4 compare:str3] ==NSOrderedSame)

{

     NSLog(@"equal");  //右边是空对象的时候 返回0,,,而NSOrderedSame的     值恰恰是0    所以相等

}

 

♠另一种特殊情况

NSString * str5 = @"";  //str5是字符个数为0的串 但不是0 (0是nil)

 

/////////// 关于字符串的操作暂时到这里来源于day12  ////////////////

 

♠关于查找字符串中制定字符的位置以及替换

NSMutableString * string=[NSMutableString stringWithString:@"When I was young, I loved a girl inneighbor class."] ;//创建一个可变字符串并且赋值

       

NSRange start =[string rangeOfString:@"young"];//注意NSRange

NSRange end = [stringrangeOfString:@"girl"];

//NSRange创建的变量默认都有”该变量名.location”(位置) 和 “该变量名.length”(长度)

//NSUInteger NSInteger 不是类,只是unsigned long 和int的typedef

NSUInteger len = end.location -start.location + end.length; //末位置减去首位置加末串的长度

start.length = len; 

stringreplaceCharactersInRange:start withString:@"a teacher, I rather to teachstudent"];//用指定的串代替上面的串

NSLog(@"%@",string);

 

♠查找某串中指定的字符串

[str2 substringWithRange:NSMakeRange(3, 7)]//在串str2中从第3个开始找7个

[str2 substringFromIndex:5]//在str2中从第5个开始找

str2 substringToIndex:5 //在str2中从第0个开始到第5个

 

♠交换字符串中的元素

[array exchangeObjectAtIndex:iwithObjectAtIndex:len-i-1];//将数组中第i个元素和第len-i-1个元素交换位置

 

 

//数组ß----------à字符串

 NSString*string = @"d**b*c*love";

 NSMutableArray*marr = [[NSMutableArray alloc]init];

 

 //从字符串遍历到数组

 for(int i = 0;i < string.length;i++)

 {

    marr[i] = [string substringWithRange:NSMakeRange(i, 1)];

 }

 NSLog(@"%zi",marr.count);

 NSLog(@"%@",marr);

 NSMutableString *strr = [[NSMutableStringalloc]init];

 //从数组遍历到字符串

 for (int i = 0;i <marr.count;i++)

 {

    [strr appendString:marr[i]];

 }

 NSLog(@"%zi",strr.length);

 NSLog(@"%@",strr);

你可能感兴趣的:(ios,字符串,NSString)