标签:
NSString *str = @"This is a String"; //str是变量名
NSString *str = [NSString alloc] init];
str = @"科比 布莱恩特"; //直接赋值
<1>使用初始化方法:initWithFormat:根据一定的字符串格式来初始化字符串对象,将格式串中的内容写入字符串对象空间内
NSString *str = [[NSStringalloc] initWithFormat:@"iphon%@",@"e6"];
<2>使用便利构造器stringWithFormat:来快速创建对象,内部进行alloc以及初始化操作,内部将initWithFormat初始化方法来进行初始化
NSString *str =[ NSString stringWithFormat:@"逗比%@",@"儿"];
<3>用标准C语言创建字符串
char *name = "say hello";
NSString *sayHello = [[NSString alloc] initWithUTF8String:name];
NSString *str =@"明明知道相思苦";
NSUInteger length = str.length; //或者 [str length]也可以 length 在OC中是属性存在,可以直接调用
NSLog(@"%ld",length);
NSString *str1 = @"波多野结衣";
NSString *str2 = @"是AV女忧";
方法1:
NSString *str3 = [str1 stringByAppendingString:str2]; //由于NSString是不可变字符串,因此只能返回新的字符串,元字符串不变
方法2
NSString *str4 = [str1 stringByAppendingFormat:@"%@是小日本%@",@"18,"@"的明星"];
NSString *str = @"say goodbye";
NSString *str1 = [str substringFromIndex:3];
NSString *str2 = [str substringToIndex:3];
NSString *str3 = [str substringWithRange:NSMakeRange(2, 2)]; // NSMakeRange 快速构建NSRange(下标,长度)
NSString *str = @"xiAo m/eI mei";
NSLog(@"%@",[str uppercaseString]); //全部改成大写
NSLog(@"%@",[str lowercaseString]); //全部改成小写
NSLog(@"%@",[str capitalizedString]); //首字符大写,包括空格和字符断开的情况,也改成大写
NSString *str1 = @"hello boby";
NSString *str2 = @"hello dowhat";
BOOL b = (str1 == str2); // 比的是两个字符串的内存地址
NSLog(@"%d",b);
BOOL b = [str1 isEqualToString:str2]; //比的两个字符串的内容是否相同,返回一个BOOL类型值
NSLog(@"%d",b);
NSComparisonResult result = [str1 compare:str2]; //按照字母进行比较,设置一个枚举的类型返回值,返回值(NSOrderedSame NSOrderedAscending NSOrderedDescending)
switch (result) {
case NSOrderedSame:
NSLog(@"相同");
break;
case NSOrderedAscending:
NSLog(@"前小后大");
break;
case NSOrderedDescending:
NSLog(@"前大后效");
break;
default:
break;
}
BOOL b3 = [str1 hasPrefix:@"boby"]; //对字符串前缀进行判断
BOOL b4 = [str2 hasSuffix:str1]; // 对字符串后缀进行判断
NSRange range = [str rangeOfString:@"hi"];
if (range.location != NSNotFound) {
}
else{
}
NSString *str8 = [NSString stringWithString:str3]; //字符串属性遵循copying协议
NSLog(@"%@",str8);
NSString *string1 = @"abcdefg",*string2 = @"higkllmn";
NSString *str1 = [string1 stringByReplacingCharactersInRange:NSMakeRange(2, 3) withString:string2]; //从中间截取几个字符串替换为withString后面的字符
NSString *str2= [string1 stringByReplacingOccurrencesOfString:@"a"withString:@"ABV"]; //把字符串中的出现过的字符"a"全部替换为"ABV"
NSString是不可变字符串,不能删除字符或添加字符(上面的操作都会开辟一个新的字符串来保存添加或替换后的字符串,原串并不会改变).
Cocoa提供了一个 NSString的子类: NSMutableString.由于是NSString的子类,所以NSMutableString继承了NSString的所有方法.
当我们创建可变的字符串(或者之后学习的所有可变数组,字典,集合等)一定要先初始化,再进行使用.
NSMutableString *mutablestring = [NSMutableString string]; //类方法初始化(使用极少)
NSMutableString *mstr1 = [[NSMutableString alloc] init]; //init实例方法初始化
NSMutableString *mstr2 = [[NSMutableString alloc] initWithCapacity:0]; //指定初始化方法,capacity是申请内存空间,但兄台那个会根据字符串的增减自动调整内存空间大小(工程中使用较多)
[mstr1 setString:@"嘿嘿嘿"]; //对一个字符串进行赋值或重置(替换原来的内容)
NSMutableString *mstr3 = [NSMutableString stringWithFormat:@"四是四,十是十,四十是四十"];
[mstr3 insertString:@"逗比"atIndex:1]; //插入一个字符串,在某一个位置
[mstr3 deleteCharactersInRange:NSMakeRange(3, 2)]; //删除某一个范围内的字符串
NSMutableString *m1 = [NSMutableStringstringWithCapacity:0];
NSMutableString *m2 = [NSMutableStringstringWithString:@"Tom"];
[m1 appendString:@"哈哈"]; //给字符串赋值(OC比较灵活)
[m1 appendFormat:@"age is %d",12]; //在后面插入某一段字符串
[m1 replaceCharactersInRange:NSMakeRange(3, 2) withString:@"逗比"]; //替换掉字符窜中的内容,在自己选择位置
标签:
原文地址:http://www.cnblogs.com/LE-Quan/p/5078071.html