//
// main.m
// NSString_new
//
// Created by qianfeng on 14-11-9.
// Copyright (c) 2014年 qianfeng. All rights reserved.
//
#import <Foundation/Foundation.h>
//字符串在OC中采用的时UTF8编码,(还有UTF16、32)都是在Unicode上发展来的
//"汉子"这两个汉字在UTF8中占用6字节。(每个单独的“符号”不超过四个字节)
//Unicode(万国码),兼容各国文字符号
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
//OC完全兼容C的语法
NSString *str1 = @"you are good";
//通过str1初始化str2;
NSString *str2 = [[NSString alloc] initWithString:str1];
//通过C的字符串初始化str3,将C的字符串,转化为OC的字符串对象
NSString *str3 = [[NSString alloc] initWithUTF8String:"you are SB"];
NSString *str4 = [[NSString alloc] initWithFormat:@"you are %c%c",'S','B'];
//使用格式符结成一个字符串,临时字符串,不清楚什么时候释放所以也不便于操作,
NSString *str5 = [NSString stringWithUTF8String:"you are good man!"];
NSString *str6 = [NSString stringWithFormat:@"you are %c %c",'S','B'];
NSLog(@"str2 = %@\n",str2);
NSLog(@"str3 = %@\n",str3);
NSLog(@"str4 = %@\n",str4);
NSLog(@"str5 = %@\n",str5);
NSLog(@"str6 = %@\n",str6);
//比较两个字符串是否相同 返回值只有两个:0或者1
BOOL ret = [str3 isEqualToString:str4];
//比较两个字符串的大小:返回值:-1、0、1
int biger = [str3 compare:str2];
NSLog(@"biger = %d\n",biger);
//大小写比较大小,
//NSCompareisonResult:
BOOL isnot = [str3 caseInsensitiveCompare:str2];
NSLog(@"isnot = %i",isnot);
//查找一个字符串在另一字符串中的位置:
NSString * str = @"SB";
NSRange rang = [str3 rangeOfString:str];
//length表示str的长度,location的位置是从0开始,到第一个相同字符的位置
NSLog(@"length = %lu location = %lu\n",rang.length,rang.location);
//提取字符串:从头提取,n个字符;
NSString * str7 = @"123456789";
NSString * str8 = [str7 substringToIndex:6];
NSLog(@"str7 = %@\n",str7);
NSLog(@"str8 = %@\n",str8);
//提取字符串:从位置a提取到结尾,
NSString * str9 = [str7 substringFromIndex:6];
NSLog(@"str9 = %@\n",str9);
//通过NSRang(结构体)值来提取字符串,从“location”提取“length”个字符
NSRange ran = {2,4};
NSString *str10 = [str7 substringWithRange:ran];
NSLog(@"str10 = %@\n",str10);
//直接创建NSRang值:
NSString *str11 = [str7 substringWithRange:NSMakeRange(2, 4)];
NSLog(@"str10 = %@\n",str11);
//初始化:
NSString *struft8 = [[NSString alloc] initWithUTF8String:"youera"];
NSLog(@"struft8 = %@\n",struft8);
NSString *strC = [[NSString alloc] initWithCString:"you arefd " encoding: 4];
NSLog(@"strc = %@",strC);
NSString *str12 = [NSString stringWithString:strC];
NSLog(@"str12 = %@",str12);
NSString *str13 = [NSString stringWithUTF8String:"dsfaf"];
NSLog(@"str13 = %@",str13);
NSString *str14 = [NSString stringWithFormat:@"%s","sdfdf"];
NSLog(@"str14 = %@",str14);
NSString *str15 = [NSString stringWithCString:"adjofijadojf" encoding:4];
NSLog(@"str15 = %@",str15);
//追加字符串:
NSString *str16 = @" ";
str16 = [str16 stringByAppendingString:@"youyou"];
NSLog(@"str16 = %@",str16);
//获取字符串中的字符:
unichar ch = [str15 characterAtIndex:2];
NSLog(@"ch = %C",ch);
int len = (int)[str15 length];
NSLog(@"len = %i",len);
//查找前缀,(从第一个字符开始,到需要比较的字符串结尾结束比较是否被包含)
BOOL isin = [str15 hasPrefix:@"a"];
NSLog(@"isin = %i",isin);
//查找后缀,(从最后一位往前比较,
BOOL onin = [str15 hasSuffix:@"not"];
NSLog(@"onin = %i",onin);
//nsstring转化为C字符,
const char* strch = [str16 UTF8String];
NSLog(@"strch = %s",strch);
//大小写转换,
//小写转大写
str16 = [str16 uppercaseString];
NSLog(@"str16 = %@",str16);
//大写转小写
str16 = [str16 lowercaseString];
//
//
NSLog(@"str16 = %@",str16);
str16 = [str16 capitalizedString];
NSLog(@"str16 = %@",str16);
//
/*
//可变字符串:NSMutableString,方法:增删改查的功能
//NSMutableString *canot = @"不可变字符串";
NSMutableString *string = [[NSMutableString alloc]init];
[string setString:@"123456"];
NSLog(@"string = %@\n",string);
//在后面插入“string”--用来追加字符串
[string appendString:@"string"];
NSLog(@"string = %@\n",string);
//在后面插入“format”,--用来追加格式符
[string appendFormat:@"%s%d","format",4];
NSLog(@"string = %@\n",string);
//在第6个元素(下标为5元素)之后插入“insert”
[string insertString:@"inser" atIndex:6];
NSLog(@"string = %@\n",string);
//复合使用:
[string insertString:[NSString stringWithFormat:@"%c",'a'] atIndex:2];
NSLog(@"string = %@\n",string);
//删除:从a删除n个字符
[string deleteCharactersInRange:NSMakeRange(3, 4)];
NSLog(@"string = %@\n",string);
//替换操作:使用指定的字符串替换掉指定的元素,用来替换的字符串与被替换的元素的个数无关。
[string replaceCharactersInRange:NSMakeRange(2, 3) withString:@" good "];
NSLog(@"string = %@\n",string);
NSString *cstr = [[NSString alloc] init];
cstr = [string copy];
NSLog(@"cstr:%@",cstr);
//4.2之后的内存释放是自动的?
*/
}
return 0;
}