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個字元替換為指定的字串