[]NSString+NSMutableString+NSValue+NSAraay用法汇总

本文内容来源于 http://www.cocoachina.com/bbs/read.php?tid-30464.html

 

// 一、NSString   
     /* ----------------创建字符串的方法---------------- */

    
// 1、创建常量字符串。
    NSString  * astring  =   @" This is a String! " ;


    
// 2、创建空字符串,给予赋值。

    NSString 
* astring  =  [[NSString alloc] init];
    astring 
=   @" This is a String! " ;
    NSLog(
@" astring:%@ " ,astring);
  [astring release];




    
// 3、在以上方法中,提升速度:initWithString方法

    NSString 
* astring  =  [[NSString alloc] initWithString: @" This is a String! " ];
    NSLog(
@" astring:%@ " ,astring);
    [astring release];



    
// 4、用标准c创建字符串:initWithCString方法

    
char   * Cstring  =   " This is a String! " ;
    NSString 
* astring  =  [[NSString alloc] initWithCString:Cstring];
    NSLog(
@" astring:%@ " ,astring);
    [astring release];



    
// 5、创建格式化字符串:占位符(由一个%加一个字符组成)

    
int  i  =   1 ;
    
int  j  =   2 ;
    NSString 
* astring  =  [[NSString alloc] initWithString:[NSString stringWithFormat: @" %d.This is %i string! " ,i,j]];
    NSLog(
@" astring:%@ " ,astring);
    [astring release];



    
// 6、创建临时字符串

    NSString 
* astring;
    astring 
=  [NSString stringWithCString: " This is a temporary string " ];
    NSLog(
@" astring:%@ " ,astring);




    
/* ----------------从文件读取字符串:initWithContentsOfFile方法 ---------------- */    

    NSString 
* path  =   @" astring.text " ;
    NSString 
* astring  =  [[NSString alloc] initWithContentsOfFile:path];
    NSLog(
@" astring:%@ " ,astring);
    [astring release];


    
/* ----------------写字符串到文件:writeToFile方法 ---------------- */    


    NSString 
* astring  =  [[NSString alloc] initWithString: @" This is a String! " ];
    NSLog(
@" astring:%@ " ,astring);
    NSString 
* path  =   @" astring.text " ;   
    [astring writeToFile: path atomically: YES];
    [astring release];   




    
/* ---------------- 比较两个字符串---------------- */         

    
// 用C比较:strcmp函数

    
char  string1[]  =   " string! " ;
    
char  string2[]  =   " string! " ;
    
if (strcmp(string1, string2)  =   =   0 )
    {
        NSLog(
@" 1 " );
    }



    
// isEqualToString方法   
    NSString  * astring01  =   @" This is a String! " ;
    NSString 
* astring02  =   @" This is a String! " ;
    BOOL result 
=  [astring01 isEqualToString:astring02];
    NSLog(
@" result:%d " ,result);




    
// compare方法(comparer返回的三种值)   
    NSString  * astring01  =   @" This is a String! " ;
    NSString 
* astring02  =   @" This is a String! " ;   
    BOOL result 
=  [astring01 compare:astring02]  =   =  NSOrderedSame;   
    NSLog(
@" result:%d " ,result);   
    
// NSOrderedSame 判断两者内容是否相同




    NSString 
* astring01  =   @" This is a String! " ;
    NSString 
* astring02  =   @" this is a String! " ;
    BOOL result 
=  [astring01 compare:astring02]  =   =  NSOrderedAscending;   
    NSLog(
@" result:%d " ,result);
    
// NSOrderedAscending 判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)



    NSString 
* astring01  =   @" this is a String! " ;
    NSString 
* astring02  =   @" This is a String! " ;
    BOOL result 
=  [astring01 compare:astring02]  =   =  NSOrderedDescending;   
    NSLog(
@" result:%d " ,result);     
    
// NSOrderedDescending 判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)



    
// 不考虑大 小写比较字符串1
    NSString  * astring01  =   @" this is a String! " ;
    NSString 
* astring02  =   @" This is a String! " ;
    BOOL result 
=  [astring01 caseInsensitiveCompare:astring02]  =   =  NSOrderedSame;   
    NSLog(
@" result:%d " ,result);     
    
// NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为 真)



    
// 不考虑大小写比较字符串2
    NSString  * astring01  =   @" this is a String! " ;
    NSString 
* astring02  =   @" This is a String! " ;
    BOOL result 
=  [astring01 compare:astring02
                            options:NSCaseInsensitiveSearch 
|  NSNumericSearch]  =   =  NSOrderedSame;   
    NSLog(
@" result:%d " ,result);     

    
// NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。


    
/* ----------------改变字符串的大小写---------------- */    

    NSString 
* string1  =   @" A String " ;
    NSString 
* string2  =   @" String " ;
    NSLog(
@" string1:%@ " ,[string1 uppercaseString]); // 大写
    NSLog( @" string2:%@ " ,[string2 lowercaseString]); // 小写
    NSLog( @" string2:%@ " ,[string2 capitalizedString]); // 首字母大小


    
/* ----------------在串中搜索子串 ---------------- */         

    NSString 
* string1  =   @" This is a string " ;
    NSString 
* string2  =   @" string " ;
    NSRange range 
=  [string1 rangeOfString:string2];
    
int  location  =  range.location;
    
int  leight  =  range.length;
    NSString 
* astring  =  [[NSString alloc] initWithString:[NSString stringWithFormat: @" Location:%i,Leight:%i " ,location,leight]];
    NSLog(
@" astring:%@ " ,astring);
    [astring release];


    
/* ----------------抽取子串 ---------------- */         

    
// -substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
    NSString  * string1  =   @" This is a string " ;
    NSString 
* string2  =  [string1 substringToIndex: 3 ];
    NSLog(
@" string2:%@ " ,string2);




    
// -substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
    NSString  * string1  =   @" This is a string " ;
    NSString 
* string2  =  [string1 substringFromIndex: 3 ];
    NSLog(
@" string2:%@ " ,string2);




    
// -substringWithRange:  // 按照所给出的位置,长度,任意地从字符串中截取子串
    NSString  * string1  =   @" This is a string " ;
    NSString 
* string2  =  [string1 substringWithRange:NSMakeRange( 0 4 )];
    NSLog(
@" string2:%@ " ,string2);
// 快速枚举
    
// for(NSString *filename in direnum)
    
// {
    
//     if([[filename pathExtension] isEqualToString:@"jpg"]){
    
//         [files addObject:filename];
    
//     }
    
// }
    NSLog( @" files:%@ " ,files);

    
// 枚举
    NSEnumerator  * filenum;
    filenum 
=  [files objectEnumerator];
    
while  (filename  =  [filenum nextObject]) {
        NSLog(
@" filename:%@ " ,filename);
    }
@" b " , @" a " , @" e " , @" d " , @" c " , @" f " , @" h " , @" g " ,nil];   
    NSLog(
@" oldArray:%@ " ,oldArray);
    NSEnumerator 
* enumerator;
    enumerator 
=  [oldArray objectEnumerator];
    id obj;
    
while (obj  =  [enumerator nextObject])
    {
        [newArray addObject: obj];
    }
    [newArray sortUsingSelector:@selector(compare:)];
    NSLog(
@" newArray:%@ " , newArray);
    [newArray release];



    
/* --------------------------- 切分数组------------------------------ */

    
// 从字符串分割到数组- componentsSeparatedByString:
    NSString  * string   =  [[NSString alloc] initWithString: @" One,Two,Three,Four " ];
    NSLog(
@" string:%@ " , string );   
    NSArray 
* array  =  [ string  componentsSeparatedByString: @" , " ];
    NSLog(
@" array:%@ " ,array);
    [
string  release];


    
// 从数组合并元素到字符串- componentsJoinedByString:
    NSArray  * array  =  [[NSArray alloc] initWithObjects: @" One " , @" Two " , @" Three " , @" Four " ,nil];
    NSString 
* string   =  [array componentsJoinedByString: @" , " ];
    NSLog(
@" string:%@ " , string );



    
/* ***********************************************************************
     NSMutableArray
     ************************************************************************
*/
    
/* --------------- 给数组分配容量---------------- */
    
// NSArray *array;
    array  =  [NSMutableArray arrayWithCapacity: 20 ];



    
/* -------------- 在数组末尾添加对象---------------- */
    
// - (void) addObject: (id) anObject;
    
// NSMutableArray *array = [NSMutableArray arrayWithObjects:
     @" One " , @" Two " , @" Three " ,nil];
    [array addObject:
@" Four " ];
    NSLog(
@" array:%@ " ,array);



    
/* -------------- 删除数组中指定索引处对象---------------- */    
    
// -(void) removeObjectAtIndex: (unsigned) index;   
    
// NSMutableArray *array = [NSMutableArray arrayWithObjects:
     @" One " , @" Two " , @" Three " ,nil];
    [array removeObjectAtIndex:
1 ];
    NSLog(
@" array:%@ " ,array);



    
/* ------------- 数组枚举--------------- */    
    
// - (NSEnumerator *)objectEnumerator;从前向后
    
// NSMutableArray *array = [NSMutableArray arrayWithObjects:
     @" One " , @" Two " , @" Three " ,nil];
    NSEnumerator 
* enumerator;
    enumerator 
=  [array objectEnumerator];

    id thingie;
    
while  (thingie  =  [enumerator nextObject]) {
        NSLog(
@" thingie:%@ " ,thingie);
    }


    
// - (NSEnumerator *)reverseObjectEnumerator;从后向前
    
// NSMutableArray *array = [NSMutableArray arrayWithObjects:
     @" One " , @" Two " , @" Three " ,nil];
    NSEnumerator 
* enumerator;
    enumerator 
=  [array reverseObjectEnumerator];

    id 
object ;
    
while  ( object   =  [enumerator nextObject]) {
        NSLog(
@" object:%@ " , object );
    }


    
// 快速枚举
    
// NSMutableArray *array = [NSMutableArray arrayWithObjects:
     @" One " , @" Two " , @" Three " ,nil];
    
for (NSString  * string   in  array)
    {
        NSLog(
@" string:%@ " , string );
    }



    
/* ****************************************************************************
     NSDictionary
     **************************************************************************
*/

    
/* ------------------------------------创建字典 ------------------------------------ */
    
// - (id) initWithObjectsAndKeys;

    
// NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];
    NSString  * string   =  [dictionary objectForKey: @" One " ];
    NSLog(
@" string:%@ " , string );
    NSLog(
@" dictionary:%@ " ,dictionary);
    [dictionary release];


    
/* *******************************************************************************
     NSMutableDictionary
     *******************************************************************************
*/

    
/* ------------------------------------创建可变字典 ------------------------------------ */    
    
// 创建
    NSMutableDictionary  * dictionary  =  [NSMutableDictionary dictionary];

    
// 添加字典
    [dictionary setObject: @" One "  forKey: @" 1 " ];
    [dictionary setObject:
@" Two "  forKey: @" 2 " ];
    [dictionary setObject:
@" Three "  forKey: @" 3 " ];
    [dictionary setObject:
@" Four "  forKey: @" 4 " ];
    NSLog(
@" dictionary:%@ " ,dictionary);

    
// 删除指定的字典
    [dictionary removeObjectForKey: @" 3 " ];
    NSLog(
@" dictionary:%@ " ,dictionary);


    
/* *****************************************************************************
     NSValue(对任何对象进行包装)
     ***************************************************************************
*/

    
/* --------------------------------将NSRect放入NSArray中 ------------------------------------ */    
    
// 将NSRect放入NSArray中
    NSMutableArray  * array  =  [[NSMutableArray alloc] init];
    NSValue 
* value;
    CGRect rect 
=  CGRectMake( 0 0 320 480 );   
    value 
=  [NSValue valueWithBytes: & rect objCType:@encode(CGRect)];
    [array addObject:value];
    NSLog(
@" array:%@ " ,array);

    
// 从Array中 提取
    value  =  [array objectAtIndex: 0 ];
    [value getValue:
& rect];
    NSLog(
@" value:%@ " ,value);


    
/* *************************************************************************
     从目录搜索扩展名为jpg的文件
   ****************************************************************************
*/

    
// NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString  * home;
    home 
=   @" ../Users/ " ;

    NSDirectoryEnumerator 
* direnum;
    direnum 
=  [fileManager enumeratorAtPath: home];

    NSMutableArray 
* files  =  [[NSMutableArray alloc] init];

    
// 枚举
    NSString  * filename;
    
while  (filename  =  [direnum nextObject]) {
        
if ([[filename pathExtension] hasSuffix: @" jpg " ]){
            [files addObject:filename];
        }
    }
// 扩展路径

    NSString 
* Path  =   @" ~/NSData.txt " ;
    NSString 
* absolutePath  =  [Path stringByExpandingTildeInPath];
    NSLog(
@" absolutePath:%@ " ,absolutePath);
    NSLog(
@" Path:%@ " ,[absolutePath stringByAbbreviatingWithTildeInPath]);



    
// 文件扩展名
    NSString  * Path  =   @" ~/NSData.txt " ;
    NSLog(
@" Extension:%@ " ,[Path pathExtension]);




    
/* **********************************************************************
     NSMutableString
     **********************************************************************
*/    

    
/* ---------------给字符串分配容量---------------- */
    
// stringWithCapacity:
    NSMutableString  * String;
    String 
=  [NSMutableString stringWithCapacity: 40 ];


    
/* ---------------在已有字符串后面添加字符---------------- */    

    
// appendString: and appendFormat:

    NSMutableString 
* String1  =  [[NSMutableString alloc] initWithString: @" This is a NSMutableString " ];
    
// [String1 appendString:@", I will be adding some character"];
    [String1 appendFormat:[NSString stringWithFormat: @" , I will be adding some character " ]];
    NSLog(
@" String1:%@ " ,String1);
    
*/


    
/* -------- 在已有字符串中按照所给出范围和长度删除字符------ */    
    
/*
     //deleteCharactersInRange:
     NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
     [String1 deleteCharactersInRange:NSMakeRange(0, 5)];
     NSLog(@"String1:%@",String1);



     /*--------在已有字符串后面在所指定的位置中插入给出的字符串------
*/

    
// -insertString: atIndex:
    NSMutableString  * String1  =  [[NSMutableString alloc] initWithString: @" This is a NSMutableString " ];
    [String1 insertString:
@" Hi!  "  atIndex: 0 ];
    NSLog(
@" String1:%@ " ,String1);



    
/* --------将已有的空符串换成其它的字符串------ */

    
// -setString:
    NSMutableString  * String1  =  [[NSMutableString alloc] initWithString: @" This is a NSMutableString " ];
    [String1 setString:
@" Hello Word! " ];
    NSLog(
@" String1:%@ " ,String1);



    
/* --------按照所给出的范围,和字符串替换的原有的字符------ */

    
// -setString:
    NSMutableString  * String1  =  [[NSMutableString alloc] initWithString: @" This is a NSMutableString " ];
    [String1 replaceCharactersInRange:NSMakeRange(
0 4 ) withString: @" That " ];
    NSLog(
@" String1:%@ " ,String1);



    
/* -------------判断字符串内是否还包含别的字符串(前缀,后缀)------------- */
    
// 01: 检查字符串是否以另一个字符串开头- (BOOL) hasPrefix: (NSString *) aString;
    NSString  * String1  =   @" NSStringInformation.txt " ;
    [String1 hasPrefix:
@" NSString " =   =   1   ?   NSLog( @" YES " ) : NSLog( @" NO " );
    [String1 hasSuffix:
@" .txt " =   =   1   ?   NSLog( @" YES " ) : NSLog( @" NO " );

    
// 02: 查找字符串某处是否包含其它字符串 - (NSRange) rangeOfString: (NSString *) aString,这一点前面在串中搜索子串用到过;



    
/* *************************************************************************
     NSArray
  ***************************************************************************
*/

    
/* ---------------------------创建数组 ------------------------------ */
    
// NSArray *array = [[NSArray alloc] initWithObjects:
     @" One " , @" Two " , @" Three " , @" Four " ,nil];

    self.dataArray 
=  array;
    [array release];

    
// - (unsigned) Count;数组所包含对象个数;
    NSLog( @" self.dataArray cound:%d " ,[self.dataArray count]);

    
// - (id) objectAtIndex: (unsigned int) index;获取指定索引处的对象;
    NSLog( @" self.dataArray cound 2:%@ " ,[self.dataArray objectAtIndex: 2 ]);


    
/* -------------------------- 从一个数组拷贝数据到另一数组(可变数级)---------------------------- */    

    
// arrayWithArray:
    
// NSArray *array1 = [[NSArray alloc] init];
    NSMutableArray  * MutableArray  =  [[NSMutableArray alloc] init];
    NSArray 
* array  =  [NSArray arrayWithObjects:
                      
@" a " , @" b " , @" c " ,nil];
    NSLog(
@" array:%@ " ,array);
    MutableArray 
=  [NSMutableArray arrayWithArray:array];
    NSLog(
@" MutableArray:%@ " ,MutableArray);

    array1 
=  [NSArray arrayWithArray:array];
    NSLog(
@" array1:%@ " ,array1);


    
// Copy

    
// id obj;
    NSMutableArray  * newArray  =  [[NSMutableArray alloc] init];
    NSArray 
* oldArray  =  [NSArray arrayWithObjects:
                         
@" a " , @" b " , @" c " , @" d " , @" e " , @" f " , @" g " , @" h " ,nil];

    NSLog(
@" oldArray:%@ " ,oldArray);
    
for ( int  i  =   0 ; i  <  [oldArray count]; i ++ )
    {        
        obj 
=  [[oldArray objectAtIndex:i] copy];
        [newArray addObject: obj];
    }
    
//      
    NSLog( @" newArray:%@ " , newArray);
    [newArray release];


    
// 快速枚举

    
// NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray  * oldArray  =  [NSArray arrayWithObjects:
                         
@" a " , @" b " , @" c " , @" d " , @" e " , @" f " , @" g " , @" h " ,nil];   
    NSLog(
@" oldArray:%@ " ,oldArray);

    
for (id obj  in  oldArray)
    {
        [newArray addObject: obj];
    }
    
//      
    NSLog( @" newArray:%@ " , newArray);
    [newArray release];   


    
// Deep copy

    
// NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray  * oldArray  =  [NSArray arrayWithObjects:
                         
@" a " , @" b " , @" c " , @" d " , @" e " , @" f " , @" g " , @" h " ,nil];   
    NSLog(
@" oldArray:%@ " ,oldArray);   
    newArray 
=  (NSMutableArray * )CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);
    NSLog(
@" newArray:%@ " , newArray);
    [newArray release];   


    
// Copy and sort

    
// NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray  * oldArray  =  [NSArray arrayWithObjects:

 

 

你可能感兴趣的:(NSString)