iOS NSStringの一般的な基礎方法

4890 ワード

ブログを運ぶのは本当に体力的な仕事で、以前のブログを読み直したり、削除したり、編集したりして、時間と労力がかかります.しかし同時に1つの向上の過程で、疲れて楽しくて、引き続き
プロジェクトの中でNSStringのいくつかの方法を使って、自分がNSStringの方法に対して認識するのがまだ系統的に不完全であることを発見して、暇な時間を利用していくつかの基礎NSStringの方法を整理して、持続的に更新します.

NSString文字列の作成


NSStringとcharの最大の違いは、NSStringがobjectiveオブジェクトであり、charがデータ型であることです.@この記号はobjective-c NSString文字列定数の標準的な使い方で、char*作成時に@を追加する必要はありません.
文字列tempの基礎にint iとchar*cを追加し続け、新しい文字列を構成します.
NSString *str4 = [temp stringByAppendingFormat:@" : %d   :%s",i,c];  

文字列tempの基礎にtempを追加し続け、新しい文字列を構成します.
NSString *str5 = [temp stringByAppendingString:temp]; 

文字列の遍歴


各文字列は実際にはいくつかのchar文字で構成されており、文字列の遍歴は実際には文字列の各文字を抽出することである.
    NSString *str = @"TEST";    
    int count = [str length];
       //    
 for(int i =0; i < count; i++)   
 {        char c = [str characterAtIndex:i];      
          NSLog(@"  %d   %c",i,c);  
  }   

文字列の比較


isEqualToStringメソッド:文字列が完全に等しいかどうかを比較し、大文字と小文字が異なると完全に一致しません.hasPrefixeメソッドhasPrefixeメソッドhasPrefixeメソッドhaSuffixメソッド:文字列の末尾に一致する
NSString *str0 = @"testcoding";
NSString *str1 = @"testcoding";
if([str0 isEqualToString:str1])
{ 
   NSLog(@" "); 
} 
if([str0 hasPrefix:@"test"]) 
{ 
   NSLog(@" str0 test "); 
} 
if([str1 hasSuffix:@"coding"])
{
    NSLog(@"str1 coding "); 
}



大文字と小文字を考慮した文字列の比較
NSString *string01 = @"this is a String";
NSString *string02 = @"This is a String";
BOOL result = [string01 compare:string02] = = NSOrderedDescending;  
NSLog(@"result:%d",result);   
// :NSOrderedAscending( ),NSOrderedSame( ),NSOrderedDescending( ) 
//NSOrderedDescending  ( ,string02 string01 )


大文字と小文字の比較文字列を考慮しない
NSString *string01 = @"this is a String!";
NSString *string02 = @"This is a String!";
BOOL result = [string01 compare:string02 
                        options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;
NSLog(@"result:%d",result); 
//NSCaseInsensitiveSearch:  NSLiteralSearch: ,  NSNumericSearch: , 。
//  NSString   caseInsensitiveCompare:   -1、0   1  , 

文字列の大文字と小文字の上書き

NSString *string1 = @"A String";
NSString *string2 = @"String";
NSLog(@"string1:%@",[string1 uppercaseString]);// 
NSLog(@"string2:%@",[string2 lowercaseString]);// 
NSLog(@"string2:%@",[string2 capitalizedString]);// 

切り取り文字列

NSString *str0 = @"nice to meet you";    // index 5    
NSString * to = [str0 substringToIndex:5];      
NSLog(@"to = %@",to);       // index 2      
NSString * from = [str0 substringFromIndex:2];    
NSLog(@"from = %@",from);    
NSRange rang = NSMakeRange(2, 10);
NSString * strRang = [str0 substringWithRange:rang]; 
NSLog(@"rang = %@",strRang);

検索文字列と置換文字列

NSString *str0 = @“nice to meet you";
NSString *temp = @"meet";    
NSRange rang = [str0 rangeOfString:temp];       
NSLog(@" str0 index   %d", rang.location);  
NSLog(@" str0 index   %d", rang.location + rang.length); 

検索中の文字列を新しい文字列に置き換える
NSString *str = [str0 stringByReplacingCharactersInRange:rang withString:@"met"];
NSLog(@" %@", str); 
// " "   *
str = [str0 stringByReplacingOccurrencesOfString :@" " withString:@"@"];     
NSLog(@" %@", str);       

次の方法を使用して、文字列全体を置換することで、置換領域を設定することもできます.
stringByReplacingOccurrencesOfString:(NSString *)withString:(NSString *) options:(NSStringCompareOptions) range:(NSRange)

文字列末尾の追加


appendstringメソッド:文字列の末尾に文字列を追加します.appendFormatメソッド:文字列の末尾に複数のタイプの文字列を追加し、任意の数とタイプの文字列を追加できます.
NSMutableString * str = [[NSMutableString alloc] init]; //     
[str appendString:@"hello"];   

文字列から要素を削除


stringWithStringメソッド:文字列初期化付与rangeOfStringメソッドを作成するために使用されます.入力文字列は、文字列内の範囲を返します.NSMakeRange(0,3)と書くこともできます.これは、文字列0から3番目のdeleteCharactersInRangeまでの範囲を意味します.文字列パラメータがRangeであることを削除することは、削除の範囲です.
NSMutableString *str = [NSMutableString stringWithString:@"nice to meet you"];   
[str deleteCharactersInRange: [str rangeOfString: @"meet"]];          
NSLog(@"str = %@",str);   

文字列の挿入


stringWithStringメソッド:文字列初期化付与insertStringメソッドを作成します.最初のパラメータが挿入された文字列オブジェクト、2番目のパラメータが挿入された場所です.
 NSMutableString *str = [NSMutableString stringWithString:@"nice to meet"];      
 // str 10    
 [str insertString:@"you" atIndex:10];      
 NSLog(@"str = %@",str);