</pre><p style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);"><pre name="code" class="objc">//
// NSStringStu.m
// OC基础学习
//
// Created by 麦子 on 15/3/10.
// Copyright (c) 2015年 麦子. All rights reserved.
//
#import "NSStringStu.h"
@implementation NSStringStu
-(void) stuByNSString
{
NSLog(@"再一次开始学习IOS,麦子,加油!");
/*** 创建一个常量字符串 **/
NSString *string1 = @"这是一个产量字符串"; // 常量区
NSLog(@"string1->%@",string1);
// 字符串的静态方法,都是已类名开始的。注意
/**** 创建一个空字符串 ***/
NSString *string2 = [[NSString alloc] init];
NSString *string3 = [NSString string];
NSLog(@"string2->%@",string2);
NSLog(@"string3->%@",string3);
/**** 快速创建一个字符串 */ // 这些都是常量区的
NSString *string4 = [[NSString alloc] initWithString:@"abc"];
NSLog(@"string4-%@",string4);
NSString *string5 = [NSString stringWithString:@"abc"]; // 这个方法和 前面直接定义差不多,都放在常量区,而且工具提醒用这个方法多此一举。
NSLog(@"string5-%@",string5);
/**** 创建一个格式化字符串*/ // 这些都是创建在堆区的
NSString *string6 = [[NSString alloc] initWithFormat: @"整数%d",10];
NSString *string7 = [NSString stringWithFormat:@"浮点型%.3f",10.56]; // 预留几位小数
NSLog(@"string6-%@----string7-%@",string6,string7);
/**判断字符串的字符串的内容相等*/
if ([string4 isEqualToString:string5]) {
NSLog(@"字符串内容相同");
}else{
NSLog(@"字符串内容不相同");
}
/**判断对象是否相等*/
if (string4 == string5) { // 在这里 string4 和 string5都是在常量区的,所以指针都是指向同一个地址。 如果是堆区的就是不同的对象了。
NSLog(@"同一个对象");
}else{
NSLog(@"不同的对象");
}
if (string6 == string7) { // 在堆区中,还是会指向同一个地址。 相同的这种形式创建的对象,还是true
NSLog(@"同一个对象");
}else{
NSLog(@"不同对象");
}
/***比较字符串的大小*/
NSString *string9 = [[NSString alloc] initWithFormat:@"z"];
NSString *string10 = [NSString stringWithFormat:@"abcdrg"];
NSComparisonResult result = [string9 caseInsensitiveCompare:string10];
NSLog(@"result--->%ld",result);
if (1 == result) {
NSLog(@"z 大于 a");
}else{
}
/***求字符串的长度*/
NSLog(@"string9 长度%ld",[string10 length]);
/***字符串大小写的转换*/
NSString *string12 = @"hello world";
NSLog(@"全部大写 %@",[string12 uppercaseString]);
NSLog(@"全部小写 %@",[string12 lowercaseString]);
NSLog(@"第一个字母大写%@",[string12 capitalizedString]);
/****数据类型转换*/
NSString *string13 = @"-11.1"; // 换成 @“AAA” 不会抱错,只是都是 0 0。
NSLog(@"float %.3f",[string13 floatValue]);
NSLog(@"boolea %d",[string13 boolValue]);
/*****字符串转数组**/
NSString *string14 = @"123#456#789";
NSArray *array = [string14 componentsSeparatedByString:@"#"];
NSLog(@"array : %@",array);
for (NSString *object in array) {
NSLog(@"---%@",object);
}
/**字符串的截取*/ // 都是重新返回一个新的字符串
NSString *string15 = @"abcdefgh";
NSString *subString1 = [string15 substringToIndex:2];
NSString *subString2 = [string15 substringFromIndex:2];
NSLog(@"-->%@---%@",subString1,subString2);
NSRange range;
range.location = 2;
range.length = [string15 length] - 4;
NSString *subString3 = [string15 substringWithRange:range];
NSLog(@"---%@",subString3);
/***字符串的拼接*/
NSString *string16 = @"maizi";
NSString *string17 = @"ios";
NSString *appString1 = [NSString stringWithFormat:@"%@%@",string16,string17];
NSLog(@"appString1---%@",appString1);
NSString *appString2 = [string16 stringByAppendingString:string17]; // 这个更类似java方法
NSLog(@"appString2---%@",appString2);
NSString *appString3 = [string16 stringByAppendingFormat:@"%@",string17];
NSLog(@"appString3--%@",appString3);
/**字符串查询*/
NSString *link = @"_t_ok";
NSRange rangelink = [link rangeOfString:@"ok"];
NSLog(@"%ld",rangelink.location);
if (rangelink.location != NSNotFound) {
NSLog(@"这个字符存在");
}
/***可变字符串,NSString的子类**/
NSMutableString *nsmutableStr = [NSMutableString stringWithFormat:@"aqiu_"];
[nsmutableStr insertString:@"ios" atIndex:5];
NSLog(@"%@",nsmutableStr);
[nsmutableStr replaceCharactersInRange:NSMakeRange(0,3) withString:@"maizi"];
NSLog(@"%@",nsmutableStr);
[nsmutableStr deleteCharactersInRange:NSMakeRange(0,3)];
NSLog(@"%@",nsmutableStr);
}
@end
运行结果如下:
2015-04-01 23:40:16.428 OC基础学习[1525:70163]再一次开始学习IOS,麦子,加油!
2015-04-01 23:40:16.429 OC基础学习[1525:70163] string1->这是一个产量字符串
2015-04-01 23:40:16.430 OC基础学习[1525:70163] string2->
2015-04-01 23:40:16.430 OC基础学习[1525:70163] string3->
2015-04-01 23:40:16.430 OC基础学习[1525:70163] string4-abc
2015-04-01 23:40:16.430 OC基础学习[1525:70163] string5-abc
2015-04-01 23:40:16.430 OC基础学习[1525:70163] string6-整数10----string7-浮点型10.560
2015-04-01 23:40:16.430 OC基础学习[1525:70163]字符串内容相同
2015-04-01 23:40:16.430 OC基础学习[1525:70163]同一个对象
2015-04-01 23:40:16.431 OC基础学习[1525:70163]不同对象
2015-04-01 23:40:16.431 OC基础学习[1525:70163] result--->1
2015-04-01 23:40:16.431 OC基础学习[1525:70163] z大于 a
2015-04-01 23:40:16.431 OC基础学习[1525:70163] string9长度6
2015-04-01 23:40:16.431 OC基础学习[1525:70163]全部大写 HELLO WORLD
2015-04-01 23:40:16.431 OC基础学习[1525:70163]全部小写 hello world
2015-04-01 23:40:16.431 OC基础学习[1525:70163]第一个字母大写Hello World
2015-04-01 23:40:16.432 OC基础学习[1525:70163] float -11.100
2015-04-01 23:40:16.446 OC基础学习[1525:70163] boolea 1
2015-04-01 23:40:16.446 OC基础学习[1525:70163] array : (
123,
456,
789
)
2015-04-01 23:40:16.446 OC基础学习[1525:70163] ---123
2015-04-01 23:40:16.446 OC基础学习[1525:70163] ---456
2015-04-01 23:40:16.447 OC基础学习[1525:70163] ---789
2015-04-01 23:40:16.447 OC基础学习[1525:70163] -->ab---cdefgh
2015-04-01 23:40:16.447 OC基础学习[1525:70163] ---cdef
2015-04-01 23:40:16.447 OC基础学习[1525:70163] appString1---maiziios
2015-04-01 23:40:16.447 OC基础学习[1525:70163] appString2---maiziios
2015-04-01 23:40:16.447 OC基础学习[1525:70163] appString3--maiziios
2015-04-01 23:40:16.448 OC基础学习[1525:70163] 3
2015-04-01 23:40:16.448 OC基础学习[1525:70163]这个字符存在
2015-04-01 23:40:16.448 OC基础学习[1525:70163] aqiu_ios
2015-04-01 23:40:16.448 OC基础学习[1525:70163] maiziu_ios
2015-04-01 23:40:16.448 OC基础学习[1525:70163] ziu_ios
Program ended with exit code: 0