1. 程式人生 > >OC字串的常用方法

OC字串的常用方法

     網上寫的關於字串常用方法的部落格很多,這裡我簡單做了下總結!不喜勿噴哦!

一.建立字串

#import <Foundation/Foundation.h>

//NSString

//建立不可變字串物件的類

//NSMutableString

//建立可變字串物件的類

//OC語言完全相容C語言

//OC字串與C語言字串區別

//1.OC字串是一個字串物件,字串常量需要用@""包含

//2.C語言字串用""包含

//3.C語言的字串以字元的ASCII碼形式儲存

//4.OC中的字串以uicode編碼(萬國碼)形式儲存

//UTF-8(多位元組編碼)

//5.列印OC字串用%@,列印C語言字串用%s

int main(int argc,constchar * argv[]) {

    @autoreleasepool {

        NSString *str1 =@"hello world";//@"hello world"是一個常量字串物件,儲存常量區,不可以被修改

        NSLog(@"str1 = %@", str1);

        //格式化建立字串物件

        //- (instancetype)initWithFormat:(NSString *)format, ...

        NSString *str2 = [[NSString alloc] initWithFormat:@"%s%d%@","hello",123,@"world" ];

        NSLog(@"str2 = %@", str2);

        //用格式化的類方法建立字串物件

        //+ (instancetype)stringWithFormat:(NSString *)format, ...

        NSString *str3 = [NSString stringWithFormat:@"%s%d%@","qiafdn",456,@"ffds"];

        NSLog(@"str3 = %@", str3);

        //用給定的字串物件建立字串物件

        NSString *str4=@"中國教育";

        NSString *str5 = [[NSString alloc] initWithString:str4];

        NSLog(@"str5 = %@", str5);

        //C的字串建立OC的字串物件

        NSString *str6 = [[NSString alloc] initWithUTF8String:"qifdfdg中國jiaoyu"];

        NSLog(@"str6 = %@", str6);

        NSString *str7 = [[NSString alloc] initWithCString:"我的qifdfg" encoding:NSUTF8StringEncoding];

        NSLog(@"str7 = %@", str7);

        //建立一個空的字串物件 @""

        NSString *str8 = [NSString string];

        NSLog(@"str8 = %@", str8);

        NSString *str9 = [[NSString alloc] init];

        NSLog(@"str9 = %@", str9);

        //initWithString相對應

        NSString *str10 = [NSString stringWithString:str7];

        NSLog(@"str10 = %@", str10);

        //initWithUTF8String相對應

        NSString *str11 = [NSString stringWithUTF8String:"hello world中國"];

        NSLog(@"str11 = %@", str11);

        //initWithCString相對應

        NSString *str12 = [NSString stringWithCString:"zhongguo" encoding:NSUTF8StringEncoding];

        NSLog(@"str12 = %@", str12);

    }

    return0;

}

二.NSString的常用方法

#import <Foundation/Foundation.h>

//NSString

int main(int argc,constchar * argv[]) {

    @autoreleasepool {

        NSString *str1 =@"hello world中國";

        //求字串長度

        NSUInteger len = [str1 length];

        NSLog(@"len = %li", len);

        //獲取字串指定位置的字元

        unichar ch = [str1 characterAtIndex:13];

        NSLog(@"ch = %C", ch);//%C列印unichar字元 %c列印ASCII字元

        //字串提取

        //從傳入下標位置提取子串到字串結束

        NSString *subStr1 = [str1 substringFromIndex:4];

        NSLog(@"subStr1 = %@", subStr1);

        //提取子串到指定位置(不包含下標位置字元)

        NSString *subStr2 = [str1 substringToIndex:7];

        NSLog(@"subStr2 = %@",subStr2);

        //提取指定範圍內的字串

        NSRange range = {6,5};

        NSString *subStr3 = [str1 substringWithRange:range];

        NSLog(@"subStr3 = %@",  subStr3);

        //NSMakeRange();//構建NSRange變數

        NSString *subStr4 = [str1 substringWithRange:NSMakeRange(2,6)];

        NSLog(@"subStr4 = %@", subStr4);

        //字串比較

        NSString *str2 = [NSString stringWithCString:"hallo world中國" encoding:NSUTF8StringEncoding];

        NSString *str3 = [NSString stringWithUTF8String:"hello world中國"];

        NSComparisonResult result = [str2 compare:str3];

        if (result == NSOrderedAscending) {//遞增

            NSLog(@"str2 < str3");

        }

        elseif(result == NSOrderedDescending)//遞減

        {

            NSLog(@"str2 > str3");

        }

        else

        {

            NSLog(@"str2 == str3");

        }

        //以大小寫不敏感方式比較字串

        //[str2 caseInsensitiveCompare:str3];

        //判斷兩個字串是否相等

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

        BOOL ret = [str2 isEqualTo:str3];

        if (ret==YES) {

            NSLog(@"str2 == str3");

        }

        else

        {

            NSLog(@"str2 != str3");

        }

        //判斷字首子串

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

        BOOL ret1 = [@"www.baidu.com" hasPrefix:@"www."];

        NSLog(@"ret1 = %d", ret1);

        //判斷後綴子串

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

        BOOL ret2 = [@"www.hao123.com" hasSuffix:@"com"];

        NSLog(@"ret2 = %d", ret2);

        //判斷是否包含子串(10.10macos)

        BOOL ret3 = [@"hao123" containsString:@"hao"];

        NSLog(@"ret3 = %d", ret3);

        //查詢子串

        NSString *str4 = [[NSString alloc] initWithFormat:@"%s","hello world qidfafddnworldfedffsng"];

        NSRange range1 =[str4 rangeOfString:@"world"];

        if (range1.location == NSNotFound) {//不能查詢對應的子串,返回long型別最大值

            NSLog(@"沒有查詢到字串 notfound = %lu", NSNotFound);

        }

        else

        {

            NSLog(@"location = %lu length = %lu", range1.location, range1.length);

        }

        //倒序查詢子串

        NSRange range2 = [str4 rangeOfString:@"world" options:NSBackwardsSearch];

        NSLog(@"location = %li length = %li", range2.location, range2.length);

        //字串追加

        //並不是直接在原字串的末尾追加字串,而是利用傳入的字串及原字串建立一個新的字串

        NSString *str5 =@"hello";

        NSLog(@"%p", str5);

        str5 = [str5 stringByAppendingString:@"world"];

        NSLog(@"str5 = %@", str5);

        NSLog(@"%p", str5);

        //格式化追加字串

        NSString *str6 =@"qfdfdng";

        str6 = [str6 stringByAppendingFormat:@"%d%s",123,"helloworld"];

        NSLog(@"str6 = %@", str6);

        //把字元換串物件轉換成整型浮點型

        int a = [@"12345" intValue];

        float f = [@"3.14" floatValue];

        NSLog(@"a = %d f = %.2f", a, f);

        //返回公共字首子串

        NSString *str7 = [@"www.baidu.com" commonPrefixWithString:@"www.hao123.com"options:NSLiteralSearch];

        NSLog(@"str7 = %@", str7);

        //大小寫轉換

        //把小寫字母轉換成大寫字母

        NSString *str8 = [@"baidu中國" uppercaseString];

        NSLog(@"str8 = %@", str8);

        //把大寫字母轉換成小寫字母

        NSString *str9 = [@"BaiDU" lowercaseString];

        NSLog(@"str9 = %@", str9);

        //把每個單詞的首字母大寫

        NSString *str10= [@"bai du qian feng" capitalizedString];

        NSLog(@"str10 = %@", str10);

        //字串替換

        //- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement

        NSString *str11=@"hello world qiafdfnfdg hello world hello hell qdfdfnfdg";

        str11 = [str11 stringByReplacingOccurrencesOfString:@"hello" withString:@"welcome"];

        NSLog(@"str11 = %@", str11);

        //替換指定範圍內的字元

        //- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement

        NSString *str12 =@"hello world qianfeng";

        str12 = [str12 stringByReplacingCharactersInRange:NSMakeRange(12,8) withString:@"welcome"];

        NSLog(@"str12 = %@", str12);

        //OC的字串物件轉換成C字串

        NSLog(@"%s", [@"hello world" UTF8String]);

        //用網址的內容生成OC字串對像

        //- (instancetype)initWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error;

        //+ (instancetype)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error;

        NSURL *url= [[NSURL alloc] initWithString:@"http://www.baidu.com"];

        NSString *urlContent = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];//nil空指標

        NSLog(@"urlContent = %@", urlContent);

        //用檔案的內容生成字串

        //- (instancetype)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;

        //+ (instancetype)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;

        NSString *fileContent = [NSString stringWithContentsOfFile:@"/Users/zhangxueming/Desktop/json.txt"encoding:NSUTF8StringEncoding error:nil];

        NSLog(@"fileContent = %@", fileContent);

    }

    return0;

}

三.NSSMUtableString的常用方法

#import <Foundation/Foundation.h>

//NSMutableString 繼承與NSString

//所有NSString類的方法NSMutableString都可以使用

int main(int argc,constchar * argv[]) {

    @autoreleasepool {

        //建立指定容量大小的可變字串物件

        //+ (NSMutableString *)stringWithCapacity:(NSUInteger)capacity;

        NSMutableString *mulStr1 = [[NSMutableString alloc] initWithCapacity:20];

        NSLog(@"mulStr1 = %@", mulStr1);

        //替換指定範圍內的字元

        //- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString;

        NSMutableString *mulStr2 = [[NSMutableString alloc] initWithString:@"hello world qianfdfsfefdg"];

        [mulStr2 replaceCharactersInRange:NSMakeRange(6,5) withString:@"welcome"];

        NSLog(@"mulStr2 = %@", mulStr2);

        //在指定位置增加字串

        NSMutableString *mulStr3 = [[NSMutableString alloc] initWithFormat:@"夢想中國"];

        [mulStr3 insertString:@"hello world" atIndex:2];

        NSLog(@"mulStr3 = %@", mulStr3);

        //刪除指定範圍內的字元

        NSMutableString *mulStr4 = [NSMutableString stringWithUTF8String:"熱愛hello world中國"];

        [mulStr4 deleteCharactersInRange:NSMakeRange(2,11)];

        NSLog(@"mulStr4 = %@", mulStr4);

        //追加字串

        NSMutableString *mulStr5 = [NSMutableString stringWithString:@"helloworld"];

        [mulStr5 appendString:@"qidffdf"];

        NSLog(@"mulStr5 = %@", mulStr5);

        //格式化追加字串

        NSMutableString *mulStr6 = [NSMutableString stringWithFormat:@"%s%d","hello",12345];

        [mulStr6 appendFormat:@"%.2f%@",3.14,@"world"];

        NSLog(@"mulStr6 = %@", mulStr6);

        //修改字串

        NSMutableString *mulStr7 = [[NSMutableString alloc] initWithString:@"hello world"];

        [mulStr7 setString:@"qifdfdng"];

        NSLog(@"mulStr7 = %@", mulStr7);

    }

    return0;

}

相關推薦

Python 字串常用方法總結

Python 字串常用方法總結 明確:對字串的操作方法都不會改變原來字串的值 1,去掉空格和特殊符號 name.strip() 去掉空格和換行符 name.strip('xx') 去掉某個字串 name.lstrip() 去掉左邊的空格和換行符 name.rstrip() 去掉右邊的空格和換行符

python3基礎(三)-字串常用方法

1、字串獲取 str="zhantao is a good boy,boy.com" stringLength=len(str) #獲取字串長度 str[0] #代表取第一個字元 str[len(str)-1] #代表取最後一個字元,也可以使用str[-1]倒數第一個。

python的list的基本操作、list迴圈、切片、字典基本操作、字典巢狀、字串常用方法

上面說了字串和整形,那現在要是想存一個班級的人的名字,這個班有200個人,怎麼存呢,用字串的話,那就是names = 'marry lily king .....'這樣,但是這樣存是可以存,那要是想取到某個人的名字怎麼取呢,不能再去裡面看一遍吧,那累死人了,為了解決這個問題,又有一種新的資料型別應運而生,那就

3-5 字串常用方法

1、字串空格和換行符的處理 1 s = '.abc.abc.BCD,abc.' 2 # 預設去掉字串兩邊的空格和換行符 3 new_s = s.strip('.') 4 print(new_s) # abc.abc.BCD,abc 5 # 預設去掉字串右邊的空格 6 print(s.rstrip

Python----字串常用方法總結

字串可以存任意型別的字串,比如字母,名字,一句話等等。 name = 'python' tag = 'Welcome to china!' 字串還有很多內建的方法,對字串進行操作,常用的方法如下,下面註釋帶有是否的,返回的都是一個布林值1、去掉空格和特殊符號 a=' 字 符 串

Python 之字串常用方法

前言 上一篇介紹了列表的常用方法,其實字串的方法比列表的方法多得多,這裡主要列舉幾個比較常用的。 1.center center 方法是通過在字串兩邊新增填充字元(預設是空格)讓字串居中,示例如下: >>> a = 'wabdaw' >&

python字串常用方法

常用查詢方法 a = “我是吾志高,我來自火星,是個直男,同時是個男權主義者,關於當代女性所謂的抱怨 ,我只想說世界是相對公平的,就像世界上百分之九十五的危險工作都是男性在承擔,世界上 因為工作而死亡的人中,男性佔百分之九十,別逼逼說什麼女權需要加強,現在的女權

JS陣列、字串常用方法

陣列: 1.push(): 向陣列尾部新增一個或多個元素,並返回新增新元素後的陣列長度。注意,該方法會改變原陣列。 1 var arr = [1,2,3]; 2 console.log(arr); // [1, 2, 3] 3 var b = arr.pu

iOS 字串常用方法總結——不定時更新

                                                                                                     1.字串逆序排序: NSString *strs = @"ab

JS分割字串常用方法總結

函式:substring() 定義:substring(start,end)表示從start到end之間的字串,包括start位置的字元但是不包括end位置的字元。 功能:字串擷取,比如想從"MinidxSearchEngine"中得到"Minidx"就要用到substring(0,6)

Python筆記:字串常用方法大全,手慢無(收藏專用)

文章目錄 字串大小寫轉換 字串格式輸出 字串搜尋定位與替換 字串的聯合與分割 字串條件判斷 字串切片大全 實戰示例 一、字串大小寫轉換 二、字串輸出 三、字串搜尋定位與替換 四、字串的聯合與分割

leetcode陣列或者字串常用方法總結

1.暴力法 Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given "25

python 字串常用方法

python 字串的常用方法 1.len(str) — 字串的長度 2.startsWith(str) 檢視字串是否以str子串開頭,是返回True,否則返回False 3.index(str) 查詢字串中第一次出現的子串str的下標索引,如果沒找到則報

day2 -- 字串常用方法、列表、字典

1.字串常用方法 name = "Convict abc"   count(): print(name.count("c")) # 2     find(): print(name.find("a"))  # 8    index(

Python學習筆記(2)——字串常用方法(對齊、替換、拆分、合併)

1. 字串對齊——center、ljust、rjust 通過在兩邊填充字元(預設空格)讓字串居中、左對齊、右對齊。 2. 查詢子串——find、index、count find:查詢子串,返回子串第一個字元的索引,如果沒找到返回-1。 index:查詢子串,返回子

Shell處理字串常用方法

一、構造字串 直接構造 STR_ZERO=hello STR_FIRST="i am a string" STR_SECOND='success' 重複多次 #repeat the first parm($1) by $2 times strRepeat() { local x=$2 if [ "$x" ==

Python字串常用方法總結

str常用方法總結 1 str.capitalize() 將字串的首字母轉化為大寫,其他字母全部轉化為小寫。 如: ‘hello, World’.capitalize()會輸出’Hello, world’ 2 str.lower() 將字母轉化為小

Object-c之不可變字串 常用方法

    // 01.建立不可變字串     NSString *str =[NSStringstring]; // 空字串物件     NSLog(@"str= %@", str);     NSString *str1 =@"此字串存放於常量區";     NSLog(@

OC字串常用方法

     網上寫的關於字串常用方法的部落格很多,這裡我簡單做了下總結!不喜勿噴哦! 一.建立字串 #import <Foundation/Foundation.h> //NSString //建立不可變字串物件的類 //NSMutableString //建立可變字

oc學習之NSSring字串常用方法

一,NSString類 1,建立字串物件 NSString *str = @"hello world!";//建立字串常量 //建立一個空的字串 NSString *str = [ [NSString alloc] init]; NSString *str = [NSStr