1. 程式人生 > >oc學習之NSSring字串的常用方法

oc學習之NSSring字串的常用方法

一,NSString類

1,建立字串物件

NSString *str = @"hello world!";//建立字串常量

//建立一個空的字串

NSString *str = [ [NSString alloc] init];

NSString *str = [NSString string];

//使用已有字串來建立一個新的字串物件

NSString *str1 = [[NSString alloc] initWithString:str];

NSString *str1 = [[NSString alloc] stringWithString:str];

//用格式化字串初始化字串物件

NSString *str2= [[NSString alloc] initWithFormat:@"%@, %i,%s",str,10,"abcd"];

NSString *str2= [[NSString alloc] stringWithFormat:@"%@, %i,%s",str,10,"abcd"];

2,字串的轉化

//把c字串轉化為oc字串物件

char *cstr = "this is c";

NSString *str3 = [[NSString alloc] initWithCString:cstr encoding:NSUTF8StringEncoding];

或者

NSString *str3 = [[NSString alloc] initWithUTF8String:cstr ];

//把oc字串轉化為c字串

NSString *str = @"hello world!";

const char *cstr = [str UTF8String];

或者

const char *cstr = [str cStringUsingEncoding:NSUTF8StringEncoding];

//把數字串轉化為相應的資料型別

str = @"1234";

int a = [str intValue];

[str floatValue]//轉化成float型

[str doubleValue]//轉化成double型

3,NSString常用的方法

NSLog(@"%ld",[str length]);//求字串的長度

NSLog(@"%c",[str characterAtIndex:?]);//?代表下標,注意不要越界。獲取字串中得字元

NSLog(@"%@",[str substringToIndex:n]);//獲取指定長度的字串,是從頭開始擷取到n-1下標的內容

NSLog(@"%@",[str substringFromIndex:n]);//從指定位置開始向後擷取字串,一直到結束

NSRange range = {4,4};//結構體初始化,其中第一個4指的位置,後一個是長度

NSLog(@"%@",str substringWithRange:range);//獲取指定範圍內的字串,

NSRange range = [str rangeOfString:@"hello"];//查詢子串,找不到返回NSNotFound,找到返回loctation和length

if(range.location != NSNotFound)

{

NSLog(@"%ld %ld",range.location,range.length);

}

NSString *str1 = [str substringWithRange:NSMakeRange(4,4)];//NSMakeRange可以生成結構體

 NSString *str = @"www.itcast.com";

BOOL ret = [str hasPrefix:@"www"];//判斷字串是否以指定字串開頭

 NSString *str = @"www.itcast.com";

BOOL ret = [str hasSuffix:@".com"];//判斷字串是否以指定的字串結尾

BOOL ret = [str1 isEqualTo:str2];//比較兩個字串是否相等,相等返回YES,不等返回NO

NSComparisonResult result = [str1 compare:str2];//兩個字串比較大小,str1大 返回1,相等返回0, 小於返回-1

NSComparisonResult result = [str1 caseInsensitiveCompare:str2];//不區分大小寫比較大小

NSLog(@"%@",[str uppercaseString]);//將字串中得所有小寫字母轉化為大寫字元,不改變原來的字串

NSLog(@"%@",[str lowercaseString]);//將字串中得所有大寫字母轉化為小寫字元,不改變原來的字串

NSLog(@"%@",[str capitalizeString]);//將字串中出現的第一個字母轉化為大寫,其餘字母小寫

二,NSMutableString類

1,NSMutabaleString是可變字串(動態增加或者減少),繼承於NSString,可以使用NSString的所有方法。

2,初始化字串

NSMutableSting *str =[ [NSMutableString alloc] initWithString:@"hello"];//將不可變的字串轉換為可變的字串

NSMutableSting *str =[ [NSMutableString alloc] initWithCapacity:10];//容量只是一個參考值

3,常用方法

[str insertString:@"123" atIndex:1];//在指定下標(不要越界)位置插入NSString型別字串

[str appendString:@"123"];//在字串末尾追加字串

[str appendFormat:@"%@, oc語言, %i",@"正在學習",1];//在字串末尾,格式化追加字串

[str deleteCharactersInRange:NSMakeRange(0,2)];//從指定下標刪除length個字元

[str setString:@"itcast"];//修改字串亦稱對該可變字串賦值

[str replaceCharactersInRange:NSMakeRange(3,1) withString:@"ios"];//將指定下標位置的length個字元替換為指定的字串