天天看點

OC字元串常用函數

建立一個字元串對象:

NSstring * str1 = @"hello";
NSString * str = [[NSString alloc]initWithString:@"hello world!"];
NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字元串轉化為OC的字元串
int a = 123;
NSString * str_3 = [[NSString alloc]initWithFormat:@"a = %d %s%@", a, "abcd", @"efg"];//用格式化字元串初始化
//可完成字元串的拼接以及完成C的字元串與OC的字元串的轉化
NSString * str1 = [NSString stringWithString:@"hello world"];
NSString * str2 = [NSString stringWithUTF8String:"hello world"];
NSString * str3 = [NSString stringWithFormat:@"%s","hello world"];
      

字元串轉化:

NSString * str = @"hello";
const char *p = [str UTF8String];将OC字元串轉化為C的字元串

str = @"123";
int a = [str intValue];//将數字串轉化成整型資料
	[str floatValue];//将數字串轉化成float型
        [str doubleValue];//将數字串轉化成double型
      
NSLog(@"%ld",[str1 length]);   //求字元串長度

NSLog(@"%c", [str1 characterAtIndex:1]);//擷取字元串中的字元

BOOL ret =  [str1 isEqualTo:str2];//比較兩個字元串是否相等,相等傳回YES(1),不相等傳回NO(0)   (BOOL   YES(1)  NO(0))

long ret1 = [str1 compare:str2];//比較兩個字元串的大小,str1大于 傳回1  相等傳回0   小于傳回-1

long ret2 = [str1 caseInsensitiveCompare:str2];//不區分大小寫比較字元串大小

NSString * ptr = [str2 uppercaseString];//将字元串中的所有小寫字元轉換成大寫 不改變原來的字元串

ptr = [str1 lowercaseString];//将字元串中的所有大寫字元轉換成小寫 不改變原來的字元串

ptr = [str3 capitalizedString];//将字元串中出現的第一個字母轉換成大寫,其餘字母小寫

NSString * str4 = @"hello world";

NSRange range = [str4 rangeOfString:@"wr"];//查找子串,找不到傳回NSNotFound 找到傳回location和length

if (range.location != NSNotFound) {

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

}

NSString * str5 = @"helloworld";

NSString * ptr1 = [str5 substringToIndex:4];//字元串抽取 從下标0開始到4 不包括4

NSString * ptr2 = [str5 substringFromIndex:5];//從下标5開始抽取到字元串結束 包括5

NSRange range1 = {4,3};//結構體初始化

NSString * ptr3 = [str5 substringWithRange:range1];//在range指定範圍内抽取

NSString * ptr4 = [str5 substringWithRange:NSMakeRange(4,3)];//NSMakeRange可以生成一個結構體



NSString * str = @"www.1000phone.com";

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



NSString * str1 = @"1.txt";

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



NSMutableString可變字元串(動态增加和減少的)   繼承于NSString可以使用NSString的所有方法

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

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

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

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

[str setString:@"qianfeng"];//修改字元串亦稱對該可變字元串指派

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