|
字符串常用的操作 一、获取字符串(截取后创建了新的字符串,不改变原來的字符串) NSString *str = @”www.itheima.cn”; 1)字符串的长度 NSUInteger length = [strlength];//str.length 2)根据索引获取单个字符 unichar c = [str characterAtIndex:5];//索引从0开始 3)根据索引获取字符串的一個子串 截取字符从某个位置开始到结尾 NSString *str1 = [str substingFormIndex:3];//从給定的索引(包含該索引位置)截取到字符串末尾 截取字符从某个位置开始到到首位NSString *str2 = [str substringToIndex:3];//截取字符串到給定索引的位置(不包含該索引的位置) 截取字符从某个位置开始到某个位置结束NSRang *rang = {1,2};//location(索引位置)、length(截取的 NSString *str3 = [strsubstringWithRange:rang];//包含该索引的位置获得一個字符串在字符串中的索引位置、长度 NSRange range = [strrangeOfString:str3]; NSLog(@”%@”,NSStringFormRange(range)); 3、判断字符串是否为空或者相同 1)判断是否为空 Str == nil ||str.length == 0; 2)判断是否以指定的內容开头 BOOL isPerfix = [strhasPrefix:@”xww”]; 3)判断是否已指定的內容结尾 BOOL isSuffix = [strhasSuffix:@”xww”]; NSLog(@“%@”,is?@“YES”:@“NO”); 4)判断兩個字符串是否相等 NSString *str4 =@“abc”;</p><p>NSString *str5 = @“abc”; NSString *str6 = [NSStringstringWithFormat:@“%@”,@“abc”]; 1> 用if语句,==來判断,但是==的意思是內存地址相同,則判断就相同,str4和str5內存地址相同 (运行时回去换存池中找,有相同的就直接拿过来,沒有就创建),和str6的內存地址不相同。 2> BOOL isEqual = [str5 isEauqlToString:str6];//先判断字符串的地址是否相同,如果相同, 再判断字符串是否相等。 4、基本数据类型和字符串相互转化 基本数据类型(int、float、double、char) 1)基本类型转化成字符串int a =10; [NSString stringWithForamt:@“%d”,a]; 2)字符串转换成基本数据类型//floatValue、doubleValue、intValue NSString *str = @“32432”; int i = [str intValue];//@“i234324”這個转换要注意,以上转换不了 3)将字符串中的字母转化成大写 NSString *str = @“china”; NSString *str1 = [str1uppercaseString]; 4)将字符串中的字母抓换成小写 NSString *str = @“china”; NSString *str1 = [str1lowercaseString]; 5)将字符串的首字母转成大写 NSString *str = @“CHINA”; NSString *str = [str capitalizedString]; 6)多个数据拼接成一个字符串 int year = 1993; int month = 7; int day = 11; NSString * date = [NSStringstringWithFormat:@"%d年%d月%d日",year,month,day]; NSLog(@"date %@",date); NSString * address = @"郑州,中原区"; NSString* dateAndAddrss = [NSString stringWithFormat:@"%@地址:%@",date,address];
|