OC中關於字符串的操做

比較的時候,從字符串左邊開始,一次比較每一個字符,直接出現差別、或者其中一個串結束爲止。
html

好比ABC與ACDE比較,第一個字符相同,繼續比較第二個字符,因爲第二個字符是後面一個串大,因此再也不繼續比較,結果就是後面個串大。java

再如ABC與ABC123比較,比較三個字符後第一個串結束,因此就是後面一個串大。ios

因此,長度不能直接決定大小,字符串的大小是由左邊開始最前面的字符決定的。api

建立一個字符串對象:app

NSstring * str1 = @"hello";spa

NSString * str = [[NSString alloc]initWithString:@"hello world!"];code

NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字符串轉化爲OC的字符串orm

int a = 123;htm

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型

經常使用的NSString Message(OC 的字符 :typedef unsigned short unichar)

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


NSMutableString對象繼承自NSString對象,也就是該方法擁有NSString的全部的方法,而且還有它特有的方法

以下:

1:插入字符串

 

?
1
2
3
4
//插入字符串
         NSMutableString *string19=[[NSMutableString alloc]initWithFormat:@ "abc" ];
         [string19 insertString:@ "xyz" atIndex: 2 ];
         NSLog(@ "%@" ,string19);
?
1
2 :替換字符串
?
1
 
?
1
//替換字符串 [string19 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"123"]; NSLog(@"%@",string19);
3:刪除字符串
?
1
 
?
1
//刪除字符串 [string19 deleteCharactersInRange:NSMakeRange(0, 3)]; NSLog(@"%@",string19);
相關文章
相關標籤/搜索