NSString代表字符序列不可变的字符串,功能更强大,更方便简单。 下面代码列举了大部分常用的NSString方法。
//
// main.m
// OcString
//
// Created by mac on 14-12-2.
// Copyright (c) 2014 年 mac. All rights reserved.
//
#import <Foundation/Foundation.h>
void dynamicCreateString()
{
//1
NSString *str1 = @"neusoft i love you" ;
NSLog ( @"%@" ,str1);
//2
NSString *str2 = [[ NSString alloc ] init ];
[str2 release ];
// 使用 oc 字符串付初值
NSString *str3 = [[ NSString alloc ] initWithString :str1];
NSLog ( @"%@" ,str3);
[str3 release ];
// 使用 c 语言的字符串初始化
NSString *str4 = [[ NSString alloc ] initWithUTF8String : "I love you" ];
NSLog ( @"%@" ,str4);
[str4 release ];
// 格式化创建方式
NSString *str5 = [[ NSString alloc ] initWithFormat : @"i am %i years old" , 10 ];
NSLog ( @"%p, %@" ,str5,str5);
//[str5 release];
NSString *str6 = [str5 stringByAppendingString :str1];
NSLog ( @"%p, %@" ,str6,str6);
[str5 release ];
[str6 release ];
// 使用文件初始化
NSError * error;
NSString *str7 = [[ NSString alloc ] initWithContentsOfFile : @"/Users/mac/Desktop/a.txt" encoding : NSUTF8StringEncoding error :&error];
NSLog ( @"%@, %@" ,str7,error);
NSString * path = @"file:///Users/mac/Desktop/a.txt" ;
NSString * httpContents = @"http://people.com.cn" ;
NSURL * url = [ NSURL URLWithString :httpContents];
NSString *str8 = [[NSString alloc]initWithContentsOfURL:url encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000) error:&error];
NSLog( @"%@, %@" ,str8,error);
[str8 release ];
}
void staticCreateString()
{
NSString * str1 = [ NSString stringWithFormat : @"i am %i years old" , 10 ];
NSLog ( @"%@" ,str1);
}
#pragma mark 导出到文件中
void export()
{
// 向文件中写入,持久化的过程
NSString * str = @"i was a child , i have a dreamer " ;
NSString * path = @"file:///Users/mac/Desktop/a.txt" ;
NSError *error;
[str writeToFile :path atomically : YES encoding : NSUTF8StringEncoding error :&error];
NSLog ( @"%@" ,error);
NSURL * url = [ NSURL URLWithString :path];
[str writeToURL :url atomically : YES encoding : NSUTF8StringEncoding error :&error];
NSLog ( @"%@" ,error);
}
void otherMethord()
{
// 请求字符串长度
NSLog ( @"%lu" ,[ @"abcd 吴剑光 " length ]);
NSLog ( @"%c" ,[ @"abcd 吴剑光 " characterAtIndex : 3 ]);
}
void caseMethord()
{
NSString * str = @"I'am boY ,i have a dream" ;
NSLog ( @"%@" ,[str uppercaseString ]);
NSLog ( @"%@" ,[str lowercaseString ]);
NSLog ( @"%@" ,[str capitalizedString ]);
}
void campareWithString()
{
NSString * str = @"Z'am boY ,i have a dream" ;
NSString * str1 = @"I'am boY ,i have a dream" ;
if ([str isEqualToString :str1]) {
NSLog ( @"true" );
}
NSLog ( @"%li" ,[str compare :str1]);
}
void searchString()
{
NSString * str = @"neuZ'am boY ,i have a dream" ;
NSLog ( @"%i" ,[str hasPrefix : @"neu" ]);
NSLog ( @"%i" ,[str hasSuffix : @"exm" ]);
NSRange range1 = [str rangeOfString : @"have" ];
NSLog ( @"%lu,%lu" ,range1. location ,range1. length );
NSRange range2 = [str rangeOfString : @"have" options : NSBackwardsSearch ];
NSLog ( @"%lu,%lu" ,range2. location ,range2. length );
}
void subString()
{
NSString * str = @"neuZ'am #boY #i have# a dream" ;
NSLog ( @"%@" , [str substringFromIndex : 3 ]);
NSLog ( @"%@" , [str substringToIndex : 3 ]);
NSLog ( @"%@" , [str substringWithRange : NSMakeRange ( 3 , 5 )]);
NSArray * array = [str componentsSeparatedByString : @"#" ];
NSLog ( @"%@" ,array);
}
void pathString()
{
NSString * str = @"neuZ'am #boY #i have# a dream" ;
NSArray * array = [str componentsSeparatedByString : @"#" ];
NSLog ( @"%@" , [ NSString pathWithComponents :array]);
NSString * path = @"Users/mac/desktop" ;
NSLog ( @"%@" , [path pathComponents ]);
NSLog ( @"%i" , [path isAbsolutePath ]);
NSLog ( @"%@" , [path stringByAppendingPathComponent : @"abc" ]);
NSLog ( @"%@" , path);
}
void extentionString()
{
NSString * path = @"/Users/mac/Desktop/a.txt" ;
NSLog ( @"%@" , [path pathExtension ]);
NSLog ( @"%@" , [path stringByDeletingPathExtension ]);
NSLog ( @"%@" , [path stringByAppendingPathExtension : @"xml" ]);
}
void exchangeType()
{
NSString *str1 = @"234.2342424" ;
NSString *str2 = @"234.45" ;
NSString *str3 = @"234" ;
NSString *str4 = @"abcde" ;
NSLog ( @"%f" ,[str1 doubleValue ]);
NSLog ( @"%f" ,[str2 floatValue ]);
NSLog ( @"%i" ,[str3 intValue ]);
NSLog ( @"%s" ,[str4 UTF8String ]);
}
#pragma mark NSMutableString
void mutableStringOperation()
{
NSMutableString * str = [ NSMutableString stringWithCapacity : 10 ];
[str setString : @"i was girl" ];
NSLog ( @"%@" , str);
[str appendFormat : @" %i years old" , 10 ];
NSLog ( @"%@" , str);
[str replaceCharactersInRange : NSMakeRange ( 2 , 3 ) withString : @"abcdekfslfj" ];
NSLog ( @"%@" , str);
}
int main( int argc, const char * argv[]) {
@autoreleasepool {
mutableStringOperation ();
exchangeType ();
extentionString ();
pathString ();
subString ();
searchString ();
dynamicCreateString ();
staticCreateString ();
export () ;
otherMethord ();
caseMethord ();
campareWithString ();
}
return 0 ; }