NSString* str1=[[NSStringalloc]initWithString:@"dfg"];
NSLog(@"%@",str1);
int i=9;
NSString* str2=[[NSStringalloc]initWithFormat:@"%i",i];
NSLog(@"str2=%@ %i",str2,[str2retainCount]);//计数器
NSString* str3=[NSStringstringWithFormat:@"%d",i];
NSLog(@"str3=%@ %i",str3,str3.length);
NSString* str4=[NSStringstringWithFormat:@"%@",@"hs"];
NSString* str5=[str4stringByAppendingString:@"sjd"];
NSLog(@"str5=%@",str5);
NSString* str6=[NSStringstringWithFormat:@"abcdefgh"];
NSString* str7=[[NSStringstringWithFormat:@"abc"]substringFromIndex:1];//查找字符串从第一个开始
NSLog(@"%@",str7);
NSRange r={2,3};
NSString* str8=[str6substringWithRange:r];
NSLog(@"str8=%@",str8);
[str6 flarbulateWithRange:NSMakeRange(3,4)];
NSRange r1=[str6rangeOfString:@"cde"];//查找定位
NSLog(@"%d",r1.location);
NSString* httpStr=[[NSStringalloc]initWithContentsOfURL:[NSURLURLWithString:@"http://www.pin5i.com/showtopic-computer-systems-programmers-perspective-2nd-edition.html"]encoding:NSUTF8StringEncodingerror:nil ];
NSLog(@"http=%@",httpStr);
//1.现有如下定义的字符串: NSMutableString * str=@“iphoneAndroid”,能不能对该字符串进行修改,如果能,请输出删除Android后的新字符串。
NSMutableString *mutablestr=[[NSMutableStringalloc]initWithCapacity:0];//可变字符串
[mutablestrappendString:@"iphoneAndroid"];//附初值
[mutablestr deleteCharactersInRange:NSMakeRange(6,7)];//从下标第6个开始取到第13各元素为止NsRange r1= [mutablestr rangOfString:@"Android"];
NSLog(@"%@",mutablestr);
//2求字符串“158”和“39”按十进制数值做差后的结果以字符串形式输出
NSString* str3=[NSString stringWithFormat:@"%d",[@"158" intValue]-[@"39" intValue]];//alloc和init并行使用,相当于new
NSLog(@"str3=%@",str3);
//3取出符串“123-456-789-000”中的数字部分,组成一个新的字符串输出,(提示:可变字符串;返回数组)
NSString* str5=@"123-456-789-000";
NSArray* newArray=[str5componentsSeparatedByString:@"-"];
NSLog(@"str5=%@",newArray);
//创建可变字符串
NSMutableString* newStr=[NSMutableStringstringWithCapacity:0];
for (NSString* sin newArray) {
[newStrappendString:s];
}
NSLog(@"newArray=%@",newArray);
//3(2)字符串替换无重载
NSString* astr5=@"123-456-789-000";
//替换并以此输出
NSString *newastr5=[astr5stringByReplacingOccurrencesOfString:@"-"withString:@""];
NSLog(@"newArray=%@",newastr5);
//4放四个十进制三位数到一个数组中,然后按从小到大排序后组成一个新的数组
// 将字符串切割成数组 componentsSeparatedByString
NSString* string = @"字符6.78 呼6.90 卡号8.89";
NSArray *array = [string componentsSeparatedByString:@" "];
NSString *string2 = [[array objectAtIndex:0] substringWithRange:NSMakeRange(2, 4)];
NSString *string3 = [[array objectAtIndex:1] substringWithRange:NSMakeRange(1, 4)];
NSString *string4 = [[array objectAtIndex:2] substringWithRange:NSMakeRange(2, 4)];
NSMutableArray* numArray=[[NSMutableArrayalloc]initWithObjects:@"911",@"56",@"458",@"489",nil];
for(int i=0;i<numArray.count;i++)
{
for (int j=(i+1); j<4; j++) {
int a=[[numArrayobjectAtIndex:i]initValue];
int b=[[numArrayobjectAtIndex:j]initValue];
if(a>b)
{
[numArray exchangeObjectAtIndex:iwithObjectAtIndex:j];
}
}
}
NSLog(@"numArray=%@",numArray);
(1) 通过查找的方式来(这方式适合所有格式的子符串,推荐使用)
NSString *newStr =@"absdfdddcc卡速度额";
NSString *temp = nil;
for(int i =0; i < [newStr length]; i++)
{
temp = [newStr substringWithRange:NSMakeRange(i, 1)];
NSLog(@"第%d个字是:%@",i,temp);
}
(2) 通过遍历字符的方式遍历字符串(只适合不包含中文的字符串)
NSString *newStr = @"oiuyhbnccdd00";
for(int i =0; i < [newStr length]; i++)
{
NSLog(@"第%d个字符是:%@",i, [newStr characterAtIndex:i]);
}
//简转繁体
//SIMPLE简体 //TRADITION繁体
-(NSString*)toTraditionString:(NSString*)str
{
NSString *outputStirng =@"";
for (int i =0; i < [strlength]; i++)
{
unichar c = [strcharacterAtIndex:i];
NSString * curStr =[NSStringalloc]initWithFormat:@"%C", c];
NSRange r = [SIMPLE rangeOfString: curStr ];
if(0 <= r.location && r.location < [SIMPLE length] )
{
unichar tc = [TRADITION characterAtIndex:r.location];
outputStirng = [outputStirng stringByAppendingFormat:@"%C", tc];
}
else
{
outputStirng = [outputStirng stringByAppendingString:curStr];
}
}
return outputStirng;
}
//繁体转简
-(NSString*)toSimpleString:(NSString*)str
{
NSString *outputStirng =@"";
for (int i =0; i < [strlength]; i++)
{
unichar c = [strcharacterAtIndex:i];
NSString * curStr =[NSStringalloc]initWithFormat:@"%C", c];
NSRange r = [TRADITION rangeOfString: curStr ];
if(2147483647 != r.location )
{
unichar tc = [SIMPLE characterAtIndex:r.location];
outputStirng = [outputStirngstringByAppendingFormat:@"%C", tc];
}
else
{
outputStirng = [outputStirngstringByAppendingString:curStr];
}
}
return outputStirng;
}
@end
//备注:转载http://blog.sina.com.cn/s/blog_801997310101gipe.html
1.把字符串写入到制定文件夹中
NSString *myString = @"rongtianText –Intexnet";
NSError *error;
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"tmp/rongtian.txt"];
if (![myString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error]) {
NSLog(@"写入文件错误 %@",error);
return;
}
2.NSString范围
NSRange r;
r.location = 4;
r.length = 5;
NSString *strSub = [str substringWithRange:r];
NSLog(@"范围 %@",strSub);
3.搜索
NSRange searchRange = [str rangeOfString:@"five"];
if (searchRange.location != NSNotFound) {
NSLog(@"搜索 location %d %d",searchRange.location,searchRange.length);
}
4.替换
NSString *replaced = [str stringByReplacingOccurrencesOfString:@" " withString:@"+"];
NSLog(@"替换的文件 %@",replaced);
#pragma mark -字符串的比较
void text() {
NSString * str = @"RongTian";
// 转成大写
[str uppercaseString];
// 转成小写
[str lowercaseString];
// 首字母大写,其余小写
[@"ffEW" capitalizedString];
}
#pragma mark 比较2个字符串的大小
void compareString() {
// NSOrderedAscending -1
// NSOrderedSame
// NSOrderedDescending
NSComparisonResult result = [@"bmn" compare:@"azz"];
if (result == NSOrderedSame) {
NSLog(@"左 == 右");
}else if (result == NSOrderedDescending) {
NSLog(@"左 > 右");
}else if (result == NSOrderedAscending)
{
NSLog(@"左 < 右");
}
NSComparisonResult caseInsenresult = [@"dffA" caseInsensitiveCompare:@"dffa"];
if (caseInsenresult == NSOrderedSame) {
NSLog(@"左 == 右");
}else if (caseInsenresult == NSOrderedDescending) {
NSLog(@"左 > 右");
}else if (caseInsenresult == NSOrderedAscending)
{
NSLog(@"左 < 右");
}
}
#pragma mark 字符串的搜索
void searchString() {
NSString *str = @"456789456";
NSLog(@"是否456开头 %i", [str hasPrefix:@"456"]);
NSLog(@"是否789结尾 %i",[str hasSuffix:@"789"]);
NSRange range = [str rangeOfString:@"567"];
if (range.location == NSNotFound) {
NSLog(@"str中没有找到 567");
}else {
NSLog(@"搜索范围 %@",NSStringFromRange(range));
}
// 或者
// if (range.length == 0 ) {
// NSLog(@"str中没有找到 567");
// }
// 从尾开始搜索
range = [str rangeOfString:@"456" options:NSBackwardsSearch] ;
NSLog(@"从尾搜索的范围 %@",NSStringFromRange(range));
// [str rangeOfString:<#(NSString *)#> options:<#(NSStringCompareOptions)#> range:<#(NSRange)#>]
}
#pragma mark 截取字符串
void subString() {
NSString *str = @"0987654321";
NSLog(@"从索引indext=3开始到尾截取(包括3) %@",[str substringFromIndex:2]);
NSLog(@"从头开始截取到索引3(不包括3)%@",[str substringToIndex:3]);
NSRange range = NSMakeRange(2, 3);
[str substringWithRange:range];
NSString *str2 = @"a-b-c-d-e";
NSArray *array = [str2 componentsSeparatedByString:@"-"];
NSLog(@"通过 - 分割后的数组:%@",array);
}
#pragma mark 字符串与路径
void pathString() {
NSMutableArray *comArrat = [NSMutableArray arrayWithObjects:@"User",@"Rongtian",@"Desktop" ,nil];
NSString *path = [NSString pathWithComponents:comArrat];
NSLog(@"path %@",path);
NSArray *arra = [path pathComponents];
}
1.拼接数组
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"aa",@"bb",@"cc",@"dd",@"ee", nil];
NSArray *muArray = [NSArray arrayWithObjects:@"11",@"22",@"33",@"44",@"55", nil];
NSLog(@"合并的数组是 %@",[arr arrayByAddingObjectsFromArray:muArray]);
2.把数组转成字符串
NSArray *muArray = [NSArray arrayWithObjects:@"11",@"22",@"33",@"44",@"55", nil];
NSLog(@"mutalbe %@",[muArray componentsJoinedByString:@" "]);
#pragma mark NSString扩展名处理
void externsion() {
NSString *str = @"User/Rogntian.text";
NSLog(@"文件的扩展名 %@", [str pathExtension]);
NSLog(@"%@",[str stringByDeletingPathExtension]);
NSLog(@"%@",[@"abb" stringByAppendingPathExtension:@"mov"]);
}
#pragma mark 其他用法
void other() {
unichar c = [@"rongtian" characterAtIndex:3];
NSLog(@"%c",c);
}
// ============================= <NSMutableString> ===================================
#pragma mark 可变字符串的创建
void stringCreate() {
NSMutableString *str = [[NSMutableString alloc]initWithCapacity:10];
// 设置字符串的内容
[str setString:@"2356"];
// 拼接一个字符串
[str appendString:@"789"];
// 查找 356 的nsrange
NSRange range = [str rangeOfString:@"356"];
[str replaceCharactersInRange:range withString:@"11111"];
// 插入字符串
[str insertString:@"pola" atIndex:3];
// 删除字符串
range = [str rangeOfString:@"356"];
[str deleteCharactersInRange:range];
}
//创建自定义类
SubViewController *myClass = [[SubViewControlleralloc]init];
//创建一个可变的数组长度为10
NSMutableArray *array = [NSMutableArrayarrayWithCapacity:10];
//向数组中动态的添加对象
[arrayaddObject:@"好大夫"];
[arrayaddObject:@"水电费"];
[arrayaddObject:@"阿瑟发"];
[arrayaddObject:myClass];
//向数组中插入
[arrayinsertObject:@"插入一条数据" atIndex:1];
for (NSObject * objectin array)
{
NSLog(@"输出对象数组:%@", object);
}