NSString的各種用法總結(創建、截取、判斷比較、轉化數據類型、拼接、替換、添加、追加、讀取、寫入、刪去、改變)

1、創建字符串1)NSSring *str = @”adf”;2)NSString *str1 = [NSString new];NSString *str2 = [[NSString alloc] initWithString:@”adf”]; (等同于1)4)NSString *str3 = [NSString stringWithFormat:@”name is %@”,@”小小”];5)char *c = “小小”;NSString *str4 = [[NSString alloc] initWithCString:c encoding:nil];2、獲取字符串(截取后創建了新的字符串,不改變原來的字符串)NSString *str = @”www.itcast.cn”;1)獲取字符串的長度NSUInteger length = [str length];//str.length2)根據索引獲得單個字符unichar c = [str characterAtIndex:5];//索引從0開始3)根據索引獲得字符串的一個子串1> 截取字符從某個位置開始到末尾NSString *str1 = [str substingFormIndex:3];//從給定的索引(包含該索引位置)截取到字符串末尾2> 截取字符從某個位置開始到首位NSString *str2 = [str substringToIndex:3];//截取字符串到給定索引的位置(不包含該索引的位置)3> 截取字符從某個位置開始到某個位置結束NSRang *rang = {1,2};//location(索引位置)、length(截取的長度)NSString *str3 = [str substringWithRange:rang];//包含該索引的位置4> 獲得一個字符串在字符串中的索引位置、長度NSRange range = [str rangeOfString:str3];NSLog(@”%@”,NSStringFormRange(range));3、判斷字符串是否為空或者相同1)判斷是否是為空Str == nil || str.length == 0;2)判斷是否已指定的內容開頭BOOL isPerfix = [str hasPrefix:@”xww”];3)判斷是否已指定的內容結尾BOOL isSuffix = [str hasSuffix:@”xww”];NSLog(@“%@”,is?@“YES”:@“NO”);4)判斷兩個字符串是否相等NSString *str4 = @“abc”;NSString *str5 = @“abc”;NSString *str6 = [NSString stringWithFormat:@“%@”,@“abc”];1> 用if語句,==來判斷,但是==的意思是內存地址相同,則判斷就相同,str4和str5內存地址相同(運行時回去換存池中找,有相同的就直接拿過來,沒有就創建),和str6的內存地址不相同。2> BOOL isEqual = [str5 isEauqlToString:str6];//先判斷字符串的地址是否相同,如果相同,再判斷字符串是否相等。3> NSComparisonResult result = [Str5 compare:str6];switch (result){case NSOrderedAscending://阿詩瑪值小break;case NSOredredSame://字符串相等break;caes NSOrderedDeescending://阿詩瑪值大break;Deafault;break;}4、基本數據類型和字符串相互轉化基本數據類型(int、float、double、char)1)基本類型轉換成字符串int a = 10;[NSString stringWithForamt:@“%d”,a];float f = 2.4 -> @“%.1f”double d = 68.9999 -> @“%.4f”,dchar c = ‘c’ -> @“%c”,c2)字符串轉換成基本數據類型//floatValue、doubleValue、intValueNSString *str = @“32432”;int i = [str intValue];//@“i234324”這個轉換要注意,以上轉換不了3)將字符串中的字母轉換成大寫NSString *str = @“china”;NSString *str1 = [str1 uppercaseString];4)將字符串中的字母轉換成小寫NSString *str = @“china”;NSString *str1 = [str1 lowercaseString];5)將字符串的首字母轉成大寫NSString *str = @“CHINA”;NSString *str = [str capitalizedString];5、多個數據拼接成一個字符串int year = 1988;int month = 4;int day = 15;NSString * date = [NSString stringWithFormat:@"%d年%d月%d日",year,month,day];NSLog(@"date %@",date);NSString * address = @"昌平區,金燕龍";NSString * dateAndAddrss = [NSString stringWithFormat:@"%@地址:%@",date,address];NSLog(@"dateAndAddress %@",dateAndAddrss);6、字符串的末尾追加新的字符NSString * str1 = @"www.";NSString * str2 = [str1 stringByAppendingString:@"itcast.cn"];NSLog(@"str2 %@ str1 %@",str2,str1);7、在制定的范圍追加字符串NSString * str3 = @"www.cn";NSRange range = {4,0};// 4 location代表的時從哪個索引開始插入,length 代表的意思可以覆蓋幾個字符NSString * str4 = [str3 stringByReplacingCharactersInRange:range withString:@"itcast."];NSLog(@"str4 %@",str4);8、使用新的字符,替換原有的字符NSString * str5 = @"www.itcast.cn";NSString * str6 = [str5 stringByReplacingOccurrencesOfString:@"w" withString:@"a"];NSLog(@"str6 %@",str6);//5.在字符串中刪除特定的某些字符 胡漢三 hhsNSString * str7 = @"www---.itcatst.--cn";NSString * str8 = [str7 stringByReplacingOccurrencesOfString:@"-" withString:@""];NSLog(@"str8 %@",str8);9、去掉字符串中的空格NSString * str9 = @"www  .itcat  .cn";NSString * str10 = [str9 stringByReplacingOccurrencesOfString:@" " withString:@""];NSLog(@"str10 %@",str10);10、讀取、寫入文件NSString *content = @“浙江冰雹,大如湯圓”;NSString *path = @“/Users/apple/Desktop/my.text”;NSError *error;1>將字符串寫入文件BOOL isWriteSuccess = [Content writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];If (isWriteSuccess){NSLog (@“寫入文件成功,創建文件”);}else{NSLog (@“@“%@”,error”);}2> 從文件中讀取字符串NSString *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:$error];If(error! = nil){NSLog(@“%@”,error);}else{NSLog(@“寫入成功%@”,str);}11、可變長度字符串的用法NSMutableString//原來的字符串沒有變,只是重新創建了一個新的字符串NSString *str = @“我喜歡”;NSString *str1 = [str stringByAppendingString:@“蘋果”];//兩種方法可改變原來長度字符串NSMutableString *mstr = [[NSMutableString alloc] init];//方法一NSMutableString *mstr = [[NSMutableString alloc] initWithCapacity:0];//方法二[mstr setString@“蘋果”];//是初始化字符串內容[mstr appendString:@“電腦”];//動態的給字符串末尾追加新值[mstr insertString:@“手機” atIndex:3];//在指定的索引位置插入字符串//刪去指定範圍的字符串NSRange range = {3,5};[mstr deleteCharactersInRange:rang];//替代其中的字符[mstr replaceCharactersInRange:range withString@“i love”];

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247960.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247960.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247960.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue — 第七天(vue-cli-案例)

資料獲取地址: github: https://gitee.com/wang_yu5201314/VUE_vuecli SSH: gitgitee.com:wang_yu5201314/VUE_vuecli.git hero案例-項目介紹 功能介紹: 三個模塊 英雄列表(只做這個)裝備列表技能列表 英雄列表 列表組件刪除功能添加組件編…

postman測試工具

做文件上傳測試的時候可以選擇輸入方式為文件 做文件下載測試的時候,可以選擇 轉載于:https://www.cnblogs.com/thesun/p/10853226.html

webpack — 概述介紹

webpack概述 webpack是一個流行的前端項目構建工具(打包工具),可以解決當前web 開發中所面臨的困境。 webpack提供了友好的模塊化支持,以及代碼壓縮混淆、處理js兼容問題、性能優化等強大的功能,從而讓程序員把工作的…

徹底解決iOS項目中 _OBJC_CLASS_$_XXXService, referenced from: 的類似問題

這是大家熟悉的開發過程中可能遇到的問題 這是提交源碼到appStore不支持64位設備的提示 本人在提交項目到appStore時發生的的錯誤,提示必須要支持64的設備,然后自己趕緊進行相關的適應,出現了類似標題的問題,解決方法如下: 1、…

THUPCCTSAPIO2019:Far Away

流水賬~ THUPC nmdwsmduliu! THUPC Day -INF~Day -2 大概就是自己做題和每周兩次的考試,lsy和fcw兩個外校的來吊打我們qwqqq THUPC Day -1 Z208 長沙->北京 在車上看gzy/tjj/xzz打擺? THUPC Day 0 從火車站出來做地鐵的時候和tjj做反了可海…

UIDocumentInteractionController之程序間文檔共享

iOS中的沙盒可以讓平臺更加的安全,這也是沙盒給用戶帶來的最主要好處。不過由于沙盒的嚴格限制,導致程序之間共享數據比較麻煩。一般在程序間共享文檔可以通過UIDocumentInteractionController類實現通訊。它支持在你的app中用其他app預覽和顯示文檔。同…

webpack — 概述 (2)

webpack學前必備 webpack中文網 webpack官網 1. Webpack 介紹 Webpack 是什么?? (面試) 前端模塊化打包工具WebPack可以看做是模塊打包機:它做的事情是,分析你的項目結構,找到JavaScript模塊、其它的一些瀏覽器不能直接運行的拓展語言…

VUE安裝依賴命令總結

以下是個人用到過的vue安裝包以及依賴命令(在接觸項目時,有未寫到的會隨時補充) 1. vuex 作用:vue狀態管理 安裝:npm install vuex --save 開源地址:github 文檔:https://vuex.vuejs.org/zh/ 2.…

SQL總結(快速參考)

SQL 語句 語句 語法 AND / OR SELECT column_name(s) FROM table_name WHERE condition AND|OR condition ALTER TABLE (add column) ALTER TABLE table_name ADD column_name datatype ALTER TABLE (drop column) ALTER TABLE table_name DROP COLUMN column_name AS (alias…

Vue -項目創建(rem適配項的設置)

3. 項目rem 配置 ####3.1 rem介紹 小米、京東、攜程 m.mi.com/m.jd.com/m.ctrp.com 核心原理 1rem 當前 html 的fontSize也就是說 : rem是相當于根元素的字體大小// 使用div {width:2rem;height:2rem}// 媒體查詢media (min-width:320px) {html {font-size : 20px}}media (mi…

c#基礎知識梳理(四)

上期回顧 - https://www.cnblogs.com/liu-jinxin/p/10826971.html 一、類 當你定義一個類時,你定義了一個數據類型的藍圖。這實際上并沒有定義任何的數據,但它定義了類的名稱意味著什么,也就是說,類的對象由什么組成及在這個對象…

UIButton設置圓角和邊框及邊框顏色

UIButton *testButton [UIButton buttonWithType:UIButtonTypeSystem];[testButton setFrame:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/2, 100,100)];[testButton setTitle:"獲取屏幕尺寸" forState:UIControlStateNormal];[testButt…

Git 的介紹簡介

使用 git 管理我們的項目并上傳到碼云 ##1. 本地管理 本地工作區 git add >暫存區 git commit > 倉庫區 git status : 查看我們的狀態 查看到很多紅色的 (有修改的 有刪除的 有添加的) git add . : 把當前所有文件添加到暫存區 git commit -m xxx 把代碼從暫存區 提交…

【王俊杰de人工智能實戰課】第7次作業2

Brief Guide 項目內容這個作業屬于哪個課程北航人工智能實戰課這個作業的要求在哪里第三次作業要求我在這個課程的目標是獲得機器學習相關的完整項目與學習經驗;通過與人工智能行業的大牛們聊天了解行業不同方向的發展以便進行職業規劃;為轉CS積累基礎知…

讓UITableView的section header view不懸停的方法

當 UITableView 的 style 屬性設置為 Plain 時,這個tableview的section header在滾動時會默認懸停在界面頂端。取消這一特性的方法有兩種: 將 style 設置為 Grouped 。這時所有的section header都會隨著scrollview滾動了。不過 grouped 和 plain 的樣式…

Promise 的基本使用 與 Ajax的jQuery封裝

Promise 的基本使用 為了解決回調地獄問題,從而給出的解決辦法: /*** Promise** 1. Promise 是 一個構造函數 new Vue()* 2. Promise() 里面有個參數, 參數就是一個回調 () > {}* 回調也有參數* resolve f 操作成功的時候調用resolve > …

個人沖刺9

1.昨天做了界面整體優化。 2.今天打算了解一下組成員的情況。 3.整體界面優化沒有什么問題。轉載于:https://www.cnblogs.com/Evak/p/10936840.html

iOS UITextField使用全攻略

//初始化textfield并設置位置及大小 UITextField *text [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //設置邊框樣式,只有設置了才會顯示邊框樣式 text.borderStyle UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone…

日期模糊查詢

SELECT * FROM 表名 t WHERE(to_char(t.日期字段,yyyy-MM-dd hh24:mi:ss)like %2011%)轉載于:https://www.cnblogs.com/macT/p/10865206.html

Uboot中start.S源碼的指令級的詳盡解析(轉)

Uboot中start.S源碼的指令級的詳盡解析轉載于:https://www.cnblogs.com/LittleTiger/p/10877516.html