NSString類簡析

全是個人淺見,如有不當,歡迎指出 。以下所說,爲常用方法。可能有些方法沒有涉及到,只是個人的一個學習總結。

1.創建NSString大體分三類方法

a.直接賦值

//@""類似於C語言中的“”,是一種運算符號,它首先在只讀數據段開闢一塊內存,存放字符串@“IOS”,然後返回其地址。
NSString * aString1 = @"IOS";

b.實例方法創建

NSString * aString1 = [[NSString alloc] initWithString:@"IOS"];
//用C字符串初始化
const char * cString = "IOS";
NSString * aString2 = [[NSString alloc] initWithCString:cString encoding:NSUTF8StringEncoding];
NSString * aString3 = [[NSString alloc] initWithUTF8String:cString];
//創建格式化字符串
NSString * aString4 = [[NSString alloc] initWithFormat:@"Age = %d",24];
c.類方法創建

NSString * aString5 = [NSString stringWithString:@"IOS"];
NSString * aString6 = [NSString stringWithUTF8String:"IOS"];
NSString * aString7 = [NSString stringWithFormat:@"Age = %d",24];
2.字符串比較

NSString * str1 = @"String";
NSString * str2 = @"string";
a.isEqualToString:方法(相同返回1,否則0)
BOOL result = [str1 isEqualToString:str2];
b.compare方法

//返回結果
enum _NSComparisonResult {
        NSOrderedAscending = -1,
        NSOrderedSame,
        NSOrderedDescending
       };
//區分大小寫
result = [str1 compare:str2];
//不區分大小寫
result = [str1 caseInsensitiveCompare:str2];
3.改變字符串大小寫
- (NSString *)uppercaseString;//轉大寫
- (NSString *)lowercaseString;//轉小寫
- (NSString *)capitalizedString;//單詞除首字母大寫,其餘小寫
4.字符串搜索,類似C中的strstr()函數
NSString * str1 = @"I love IOS very much";
NSString * str2 = @"IOS";
NSRange range = [str1 rangeOfString:str2];
NSUInteger location = range.location;
NSUInteger length = range.length;
//location = 7;
//length = 3;
5.字符串截取
NSString * str1 = @"abcdefg";
//a.從頭到指定位置,但不包括該位置的值
 NSString * str2 = [str1 substringToIndex:3];
//b.從該位置開始,直到結束,包括該位置
NSString * str3 = [str1 substringFromIndex:3];
//c.截取指定範圍的字符串,從location位置的值開始(包括該位置)
NSString * str4 = [str1 substringWithRange:NSMakeRange(3, 2)];
//結果
//str2 = @"abc";
//str3 = @"defg";
//str4 = @"de";
6.前綴、後綴判斷
//用過一次是用在電話號碼判斷上面
- (BOOL)hasPrefix:(NSString *)aString;
- (BOOL)hasSuffix:(NSString *)aString;

以下爲NSMutableString所特有的方法

1.預設大小

//當字符串大小超過預設大小時,自動擴充
NSMutableString * str = nil;
str = [NSMutableString stringWithCapacity:10];
str = @"abcdefgabcdefg";
2.增加字符串
NSMutableString * str = [[NSMutableString alloc] init];
[str appendString:@"I "];
[str appendFormat:@"am %d years old",22];
3.插入字符串

//不可以這樣初始化NSMutbaleString
//NSMutableString * str = @"boy!";
//因爲@“boy!”返回的是NSString *類型的指針
NSMutableString * str = [[NSMutableString alloc] initWithString:@"boy!"];
[str insertString:@"Hi," atIndex:0];
4.刪除字符串
//刪除指定範圍的字符,包括location的值
NSMutableString * str = [NSMutableString stringWithString:@"Hi,girls!"];
[str deleteCharactersInRange:NSMakeRange(2, 7)];
5.字符串重置

NSMutableString * str = [[NSMutableString alloc] initWithString:@"This"];
[str setString:@"That"];
6.替換指定範圍的字符串

NSMutableString * str = [[NSMutableString alloc] initWithString:@"This"];
[str replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章