NSString 常用方法

一、NSString初始化(創建)

1、//最簡單粗暴創建方式

  NSString * str = @"hello world";    //創建了一個字符串,@"hello world"返回了一個地址,h的地址

2、//使用一個字符串去初始化另外一個字符串

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

  NSLog(@"%@",str1);

3、//使用數據拼接方式去初始化一個字符串

  NSString * str2 = [[NSString alloc] initWithFormat:@"%d%c and%s%.2f",10,'A',"hhh",2.9];


4、//將一個C的字符串轉化成爲字符串

  NSString *str3 = [[NSString alloc] initWithUTF8String:"c語言字符串"];

5、//將一個文件的內容轉化成爲字符串

/*第一參數:文件路徑

  第二參數:編碼方式(NSUTF8StringEncoding

  第三個參數:錯誤信息 nil)*/

  NSString * str4 = [[NSString alloc] initWithContentsOfFile:@"/Users/mingge/Desktop/mingzi.txt" encoding:NSUTF8StringEncoding error:nil];

6、使用類方法初始化一個字符串與上面方法類似


二、NSString使用

#pragma mark ----字符串轉換成其他數據類型--

    NSString* str = @"89a13saa487jhsjd";

//將字符串轉換成 double

    double strDouble = [str doubleValue];

//將字符串轉換成 float

    float strFloat = [str floatValue];

//將字符串轉換成 int

    int strInt = [str intValue];

//將字符串轉換成long/NSInteger

    NSInteger strInteger = [str integerValue];

//將字符串轉換成long long類型

    long long strLong = [str longLongValue];        

//BOOL類型是OC獨有的,只有兩個值:YES(1) NO(0)

    BOOL strBool = [str boolValue];

    NSLog(@"%d",strBool);

#pragma mark ----大小寫轉換--

    NSString * str1 = [NSString stringWithFormat:@"%s","askHHHfjks"];

//- (NSString *)uppercaseString;

//將字符串中所有的小寫字母轉換成大寫字母

    NSString * str2 = [str1 uppercaseString];

//- (NSString *)lowercaseString;

//將字符串中所有的大寫字母轉換成小寫字母

    NSString * str3 = [str1 lowercaseString];

//- (NSString *)capitalizedString

//將字符串首字母大寫,其他的字母全部變成小寫

    NSString * str4 = [str1 capitalizedString];

#pragma mark 字符串長度

    NSString * str5 = @"akhdjkfhsj";

//- (NSUInteger)length;

    NSUInteger lenth = [str5 length];

#pragma mark 返回單個字符

//- (unichar)characterAtIndex:(NSUInteger)index;

//char C語言的字符一個字節  unicharOC的字符,兩個字節

    unichar strchar =  [str5 characterAtIndex:2];

    NSLog(@"%ld",sizeof(unichar));

    NSLog(@"%c",strchar);

    //遍歷字符串中的每一個字符

    for (int i = 0; i < [str5 length]; i ++) {

        unichar tChar = [str5 characterAtIndex:i];

        NSLog(@"%c",tChar);

    }

#pragma mark 比較兩個字符串

    NSString * str6 = @"acahhhh";

    NSString * str7 = @"abahhhh";

//- (BOOL)isEqualToString:(NSString *)aString;

//單純的比較兩個字符串是否相等

    BOOL isEqual = [str6 isEqualToString:str7];

//- (NSComparisonResult)compare:(NSString *)aString;

//比較字符串的大小  NSOrderedAscending(-1),前面比後邊的字符串小 NSOrderedSame(0)兩個字符串相等  NSOrderedDescending(1)前面的字符串比後邊的大

//區分大小寫

    NSComparisonResult reslut = [str6 compare:str7];

//- (NSComparisonResult)caseInsensitiveCompare:(NSString *)aString;

//判斷大小時候不區分大小寫

    NSComparisonResult result2 = [str6 caseInsensitiveCompare:str7];

#pragma mark 字符串查找

    NSString * str8 = @"aaahhhhahhnnkkk";

    NSString * str9 = @"nkkk";

//- (NSRange)rangeOfString:(NSString *)aString;

//NSRange是一個結構體,有兩個成員變量,一個是位置,一個是長度

    NSRange range = [str8 rangeOfString:str9];

//- (BOOL)hasPrefix:(NSString *)aString;

//判斷str9是不是str8的前綴

    BOOL has = [str8 hasPrefix:str9];

//- (BOOL)hasSuffix:(NSString *)aString;

//判斷一個字符串是否是另外一個字符串的後綴

    BOOL has2 = [str8 hasSuffix:str9];

#pragma mark 字符串提取

    NSString * str10 = @"aaabbbkkkhhh";

//- (NSString *)substringFromIndex:(NSUInteger)from;

//index開始(包括index)提取字符串後面的部分

    NSString * substr1 = [str10 substringFromIndex:2];

//- (NSString *)substringToIndex:(NSUInteger)to;

//從字符串開始提取到index之前位置(不包括index

    NSString * subStr2 = [str10 substringToIndex:3];

//- (NSString *)substringWithRange:(NSRange)range;

//在字符串中提取某個範圍中的字符串

    NSRange range2 =  NSMakeRange(4, 3);

    NSString * subStr3 = [str10 substringWithRange:range2];      

#pragma mark ----字符串分割----

//1.以一個子串分割返回一個數組

//- (NSArray *)componentsSeparatedByString:(NSString *)separator;

    //@"assjaksdfhakasdakasl"  @"ak"

    NSArray * arrar1 = [@"assjaksdfhakasdakasl"  componentsSeparatedByString:@"ak"];

//如果在原來的字符串中找不到分割標準字符串,直接返回沒有被分割的原字符串

        NSArray * arry2 = [@"aa*hhk*@loo*kk"  componentsSeparatedByString:@"*@"];

        NSLog(@"%@",arry2);

//2.以字符集分割返回數組character

//- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator;

    NSArray * array3 = [@"I am @hight!!ji#chengkkxu yuan" componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"@!#k"]];     

#pragma mark ----字符串拼接----

//3.用數組拼接成字符串

//- (NSString *)componentsJoinedByString:(NSString *)separator;

//separator爲連接符,拼接數組中的每個字符串

    NSString* substr = [array3 componentsJoinedByString:@"7"];    

發佈了24 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章