NSString
一、创建字符串。
void stringCreate() {
NSString *str = @"String";
NSLog(@"%@",str);
NSString *str1 = [[[NSString alloc] init] autorelease];
str1 = @"String1";
NSLog(@"%@",str1);
NSString *str2 = [[NSString alloc] initWithString:@"String2" ];
NSLog(@"%@",str2);
[str2 release];
NSString *str3 = [[NSString alloc] initWithUTF8String:"String3"];
NSLog(@"%@",str3);
[str3 release];
//静态方法不需要管理内存
str3 = [NSString stringWithString:@"String3"];
NSLog(@"%@",str3);
//向字符串中传入参数。
NSString *str4 = [[NSString alloc] initWithFormat:@"my age is %i and height is %.2f",19, 1.55f];
NSLog(@"str4:%@",str4);
[str4 release];
str4 = [NSString stringWithFormat:@"my age is %i and height is %.2f",19, 1.55f];
NSLog(@"str4:%@",str4);
str4 = [NSString stringWithUTF8String:"String4"];
NSLog(@"%@",str4);
}
二、#pragma mark 大小写处理
void caseTest() {
NSString *str = @"LanPing";
//转成大写。
NSLog(@"大写:%@",[str uppercaseString]);
//转成小写。
NSLog(@"小写:%@",[str lowercaseString]);
//首字母变大写。
NSLog(@"首字母变大写:%@", [@"gamework" capitalizedString]);
}
三、#pragma mark 字符串的比较
void compare() {
//isEqualToString比较两个字符串的内容是否相同
BOOL result = [@"abc" isEqualToString:@"abc"];
NSLog(@"%i",result);
//NSOrderedSame 两个字符串内容相同
//NSOrderedAscending 右边的字符串比左边大
//NSOrderedDescending 左边的字符串比右边大
NSComparisonResult result2 = [@"abc" compare:@"Abc"];
if (result2 == NSOrderedSame) {
NSLog(@"两个字符串的内容相同");
}
else if (result2 == NSOrderedAscending) {
NSLog(@"右边>左边");
}
else if (result2 == NSOrderedDescending) {
NSLog(@"右边<左边");
}
//忽略大小写进行比较,用法与compare相同。
NSComparisonResult result3 = [@"abc" caseInsensitiveCompare:@"Abc"];
if (result3 == NSOrderedSame) {
NSLog(@"两个字符串的内容相同");
}
else if (result3 == NSOrderedAscending) {
NSLog(@"右边>左边");
}
else if (result3 == NSOrderedDescending) {
NSLog(@"右边<左边");
}
}
四、#pragma mark 字符串的搜索。
void search() {
NSString *str = @"12345673458.txt";
//是否以某字符开头。
NSLog(@"是否以12开头: %i",[str hasPrefix:@"12"]);
//是否以某字符结尾。
NSLog(@"是否以txt结尾:%i",[str hasSuffix:@"txt"]);
//在字符串中搜索一个子字符串所在位置。
NSRange range = [str rangeOfString:@"345"];
if (range.location == NSNotFound) {
NSLog(@"不能找到该字符串");
}
else {
NSLog(@"找到的范围是:%@",NSStringFromRange(range));
}
//从尾部开始搜索。
range = [str rangeOfString:@"345" options:NSBackwardsSearch];
NSLog(@"%@",NSStringFromRange(range));
//从指定位置开始搜索。
NSRange range1 = NSMakeRange(6, 7);
range = [str rangeOfString:@"345" options:NSBackwardsSearch range:range1];
NSLog(@"%@",NSStringFromRange(range));
}
五、#pragma mark 字符串的截取。
void subString() {
NSString *str = @"123456";
//从索引3开始截取字符串。
NSLog(@"%@", [str substringFromIndex:3]);
//从头部开始截取到索引3之前(不包括3)
NSLog(@"%@", [str substringToIndex:3]);
//指定范围进行截取。
NSRange range = NSMakeRange(2, 3);
NSLog(@"%@", [str substringWithRange:range]);
//以某个字符分隔截取字符串。
NSString *str1 = @"1,2,3,4,5-a-b-c-d-e";
NSArray *array = [str1 componentsSeparatedByString:@","];
NSLog(@"%@",array);
//从数组里取元素
for (int i =0; i < array.count; i++) {
NSLog(@"%@", [array objectAtIndex:i]);
}
}
六、#pragma mark 与路径相关。
void pathTest() {
NSMutableArray *components = [NSMutableArray array];
[components addObject:@"Users"];
[components addObject:@"jszx"];
[components addObject:@"Desktop"];
//将数组中的所有字符串拼接成一个路径。
NSString *path = [NSString pathWithComponents:components];
NSLog(@"%@",path);
//将路径分解成一个数组
NSArray *cmps = [path pathComponents];
NSLog(@"%@",cmps);
//判断是否为绝对路径。如果以/开头就是绝对路径。
path = @"/users/jszx/test";
NSLog(@"%i", [path isAbsolutePath]);
//返回最后一个目录。
NSLog(@"最后一个目录:%@", [path lastPathComponent]);
//返回删除最后一个目录的字符串。
NSLog(@"%@", [path stringByDeletingLastPathComponent]);
//返回在最后拼接一个目录的字符串。
NSLog(@"%@", [path stringByAppendingPathComponent:@"abc"]);
}
七、#pragma mark 拓展名处理。
void extension() {
NSString *str = @"/Users/jszx/text.txt";
NSLog(@"拓展名为:%@", [str pathExtension]);
//返回删掉拓展名后的字符串。
NSLog(@"%@", [str stringByDeletingPathExtension]);
//返回拼接一个拓展名后的字符串。
NSLog(@"%@", [@"abc" stringByAppendingPathExtension:@"mp3"]);
}
八、#pragma mark 字符串转化。
void other() {
//将字符串转化为int.
NSString *str = @"123";
int a = [str intValue];
NSLog(@"%i", a);
//计算字数,不是字符数。
NSLog(@"%zi", [@"我是字符串" length]);
//取出对应的字符。
unichar c = [@"abc" characterAtIndex:0];
NSLog(@"%c", c);
//返回c语言中的字符。
const char *s = [@"abc" UTF8String];
NSLog(@"%s",s);
}
浙公网安备 33010602011771号