NSString、NSMutableString基本用法
NSString其實是一個物件型別。NSString是NSObject(Cocoa Foundation的基礎物件)的子類
一、NSString的建立
1、建立常量字串。
NSString *astring = @"This is a String!";
2、建立空字串,給予賦值。
NSString *astring = [[NSString alloc] init];
astring = @"This is a String!";
[astring release];
NSLog(@"astring:%@",astring);
NSString *astring = [[NSString alloc] init];
NSLog(@"0x%.8x", astring);
NSLog(@"0x%.8x", astring);
[astring release];
NSLog(@"astring:%@",astring);
3、在以上方法中,提升速度:initWithString方法
NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
[astring release];
4、用標準c建立字串:initWithCString方法
char *Cstring = "This is a String!";
NSString *astring = [[NSString alloc] initWithCString:Cstring];
NSLog(@"astring:%@",astring);
[astring release];
5、建立格式化字串:佔位符(由一個%加一個字元組成)
int i = 1;
int j = 2;
NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%d.This is %i string!",i,j]];
NSLog(@"astring:%@",astring);
[astring release];
6、建立臨時字串
NSString *astring;
astring = [NSString stringWithCString:"This is a temporary string"];
NSLog(@"astring:%@",astring);
7、寫字串到檔案:writeToFile方法
NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
NSString *path = @"astring.text";
[astring writeToFile: path atomically: YES];
[astring release];
8、從檔案讀取字串:initWithContentsOfFile方法
NSString *path = @"astring.text";
NSString *astring = [[NSString alloc] initWithContentsOfFile:path];
NSLog(@"astring:%@",astring);
[astring release];
二、字串的比較
1、用C比較:strcmp函式
char string1[] = "string!";
char string2[] = "string!";
if(strcmp(string1, string2) = = 0)
{
NSLog(@"1");
}
2、isEqualToString方法
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 isEqualToString:astring02];
NSLog(@"result:%d",result);
3、compare方法(comparer返回的三種值)
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 compare:astring02] = = NSOrderedSame;
NSLog(@"result:%d",result);
//NSOrderedSame判斷兩者內容是否相同
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"this is a String!";
BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;
NSLog(@"result:%d",result);
//NSOrderedAscending判斷兩物件值的大小(按字母順序進行比較,astring02大於astring01為真)
不考慮大小寫比較字串
NSString *astring01 = @"this is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;
NSLog(@"result:%d",result);
//NSOrderedDescending判斷兩物件值的大小(按字母順序進行比較,astring02小於astring01為真)
不考慮大小寫比較字串2
NSString *astring01 = @"this is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 compare:astring02
options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;
NSLog(@"result:%d",result);
P.S : NSCaseInsensitiveSearch:不區分大小寫比較 NSLiteralSearch:進行完全比較,區分大小寫 NSNumericSearch:比較字串的字元個數,而不是字元值。
三、改寫字串
NSString *string1 = @"A String";
NSString *string2 = @"String";
NSLog(@"string1:%@",[string1 uppercaseString]);//大寫
NSLog(@"string2:%@",[string2 lowercaseString]);//小寫
NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小
四、搜尋字串
NSString *string1 = @"This is a string";
NSString *string2 = @"string";
NSRange range = [string1 rangeOfString:string2];
int location = range.location;
int leight = range.length;
NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];
NSLog(@"astring:%@",astring);
[astring release];
五、字串的擷取
1.-substringToIndex: 從字串的開頭一直擷取到指定的位置,但不包括該位置的字元
NSString *string1 = @"This is a string";
NSString *string2 = [string1 substringToIndex:3];
NSLog(@"string2:%@",string2);
2.-substringFromIndex: 以指定位置開始(包括指定位置的字元),幷包括之後的全部字元
NSString *string1 = @"This is a string";
NSString *string2 = [string1 substringFromIndex:3];
NSLog(@"string2:%@",string2);
3.-substringWithRange: //按照所給出的位置,長度,任意地從字串中擷取子串
NSString *string1 = @"This is a string";
NSString *string2 = [string1 substringWithRange:NSMakeRange(0, 4)];
NSLog(@"string2:%@",string2);
4.擷取NSString最後一位符號後的東西
方法1.
NSString *str = @"/Users/yangiori/Library/Application Support/iPhone Simulator/5.1/Applicati*****/8724956B-407E-4ACD-BBA6-95C7D033C33D/Documents/content/chapters/8";
NSString *temp1 = [[str componentsSeparatedByString:@"/"] lastObject];
NSLog(@"%@",temp1);
結果:8
方法2.
NSString *str = @"/Users/yangiori/Library/Application Support/iPhone Simulator/5.1/Applicati*****/8724956B-407E-4ACD-BBA6-95C7D033C33D/Documents/content/chapters/8";
NSString *temp2 = [str substringFromIndex:[str length]-1];
NSLog(@"%@",temp2);
結果:8
5.從指定位置擷取字串
NSString * str =[NSString stringWithFormat:@"********************Documents/image%i.jpg",2];
NSRange range = [str rangeOfString:@"Documents"];
NSString * result = [str substringFromIndex:range.location];
NSLog(@"%@",result);
六、其他操作
1.擴充套件路徑
NSString *Path = @"~/NSData.txt";
NSString *absolutePath = [Path stringByExpandingTildeInPath];
NSLog(@"absolutePath:%@",absolutePath);
NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);
2.副檔名
NSString *Path = @"~/NSData.txt";
NSLog(@"Extension:%@",[Path pathExtension]);
NSMutableString
基本用法
1.給字串分配容量
stringWithCapacity:
NSMutableString *String;
String = [NSMutableString stringWithCapacity:40];
2.在已有字串後面新增字元
appendString: and appendFormat:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 appendString:@", I will be adding some character"];
[String1 appendFormat:[NSString stringWithFormat:@", I will be adding some character"]];
NSLog(@"String1:%@",String1);
3.在已有字串中按照所給出範圍和長度刪除字元
deleteCharactersInRange:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 deleteCharactersInRange:NSMakeRange(0, 5)];
NSLog(@"String1:%@",String1);
4.在已有字串後面在所指定的位置中插入給出的字串
-insertString: atIndex:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 insertString:@"Hi! " atIndex:0];
NSLog(@"String1:%@",String1);
5.將已有的空符串換成其它的字串
-setString:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 setString:@"Hello Word!"];
NSLog(@"String1:%@",String1);
6.按照所給出的範圍,和字串替換的原有的字元
-setString:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
NSLog(@"String1:%@",String1);
7.判斷字串內是否還包含別的字串(字首,字尾)
01:檢查字串是否以另一個字串開頭- (BOOL) hasPrefix: (NSString *) aString;
NSString *String1 = @"NSStringInformation.txt";
[String1 hasPrefix:@"NSString"] = = 1 ? NSLog(@"YES") : NSLog(@"NO");
[String1 hasSuffix:@".txt"] = = 1 ? NSLog(@"YES") : NSLog(@"NO");
02:查詢字串某處是否包含其它字串 - (NSRange) rangeOfString: (NSString *) aString,這一點前面在串中搜索子串用到過;
相關推薦
NSString、NSMutableString基本用法
NSString其實是一個物件型別。NSString是NSObject(Cocoa Foundation的基礎物件)的子類 一、NSString的建立 1、建立常量字串。 NSString *astring = @"This is a String!"; 2、建立空
ES系列二十、kibana基本用法
可能 基本 com src 多個 discover 點擊 play spa 一. 定義索引模式匹配 1、前綴模糊匹配,一個模式匹配多個索引 每一個數據集導入到Elasticsearch後會有一個索引匹配模式,在上段內容莎士比亞數據集有一個索引名稱為sh
工具類Collections、Arrays基本用法練習
import java.util.ArrayList; import java.util.Collections; import java.util.List; /* * 工具類練習:Collection */ public class Demo07 {
HTML5本地儲存localStorage、sessionStorage基本用法、遍歷操作、異常處理等
HTML5 的本地儲存 API 中的 localStorage 與 sessionStorage 在使用方法上是相同的,區別在於 sessionStorage 在關閉頁面後即被清空,而 localStorage 則會一直儲存。我們這裡以 localStorage 為例,簡
DatePicker、TimePicker基本用法
前言 在時間和日期開發中,TimePicker和DatePicker經常使用到,這倆個控制元件是嵌入到View中的,如果想使用彈窗式的,可是使用TimePickerDialog和DataPickerDialog。這次我主要是實現了一個帶確定和取消按鈕的時間選擇
Java中對映Map的merge、compute、computeIfAbsent、computeIfPresent基本用法
下面是Java8中Map的一些新方法merge、compute、computeIfAbsent、computeIfPresent介紹。 我們在專案開發中,經常使用map,key有時存在有時不存,我們需要是用containsKey去判斷,然後再決定如何修改value。 這樣比
sed基本用法 sed文字塊處理 、 sed高階應用 總結和答疑
Top NSD SHELL DAY05 案例1:sed基本用法 案例2:使用sed修改系統配置 案例3:sed多行文字處理 案例4:sed綜合指令碼應用 1 案例1:sed基本用法 1.1 問題 本案例要求熟悉sed命令的p、d、s等常見操作,並
實際開發中,BigDecimal加減乘除、比較大小基本用法
BigDecimal bignum1,bignum2,bignum3 = new BigDecimal(0);//加法 bignum3 = bignum1.add(bignum2); System.o
第四周作業(alias、grep、正則表示式、find命令的基本用法)
1.命令別名 alias的用法 通過alias命令實現: (1)alias不帶任何選項將顯示當前shell下所有的可用的命令別名的資訊,其中,等號之前表示新的命令名稱,等號右邊表示的是要替代的命令及其引數。 (2)定義別名: alias new_name='old_name options' 注:通
QT中圖表類QChart系列之(1)-基本用法,畫折線圖、各個類之間的關係
首先要注意3點: (1)在.pro檔案中新增:QT += charts。 (2)用到QChart的檔案中新增:QT_CHARTS_USE_NAMESPACE,或者:using namespace QtCharts; 在ui介面中拖入一個graphicsVi
4.2、Django - URL之檢視基本用法
此節介紹檢視的基本用法。 檢視 1、檢視一般都是寫在APP的views.py檔案中 2、檢視中函式的第一個引數永遠都是request (一個HttpResponse)物件。該物件儲存了請求過程中所有的資訊,如:所需要的引數以及一些頭部資訊等 。在檢視中,一般是完成邏輯相關的操作
shell基本用法實戰、迴圈、python指令碼
1. 數字集合 for i in {1..20} do echo $i done 2.詳細列出(字元且項數不多) for i in 1 2 3 4 5 do echo $i done 3.對存在的檔案進行迴圈 for filename in
MySQL workbench8.0 CE基本用法(建立資料庫、建立表、建立使用者、設定使用者許可權、建立SQL語句指令碼)
安裝完成MySQL後,開啟MySQL workbench8.0。 可以看到MySQL Connections下面是我們設定的MySQL本地登入賬號,這個賬號是我們在安裝MySQL過程中設定的,一般命名為root,埠為3306,密碼預設為空。雙擊進入。 要注意一點的
css基本用法(層疊、群選擇符、派生選擇符、顏色值)
CSS 選擇符【總結】(1) div{...}(2) .myStyle1{...} , 對應HTML引用:< p class=myStyle1>歡迎使用ASP.NET2.0技術< /p > (3) #myStyle2{...} , 對應HTML引
python基礎之分支語句在開發中的應用場景、分支語句的基本用法
1。程式中的判斷 if 微信密碼正確: 登入到介面 else: 請重新輸入密碼 2。判斷定義: 如果 條件滿足,才能做某件事情, 如果 條件不滿足,就做另外一件事情,或者什麼也不做 判斷語句 又被稱為 “分支語句”,正是因為有了判斷,才讓程式有了很多的分支 3.if 判斷語句基本語法 在 P
Centos下vim、ctags的配置及基本用法
一、vi/vim 基本使用方法 vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色於任何最新的文字編輯器,這裡只是簡單地介紹一下它的配置和一小部分指令。由於對Unix及Linux系統的任何版本,vi編輯器是完全相同的,因此您可以在其他
javap -c 基本用法,簡單位元組檔案解釋,分析try 中return、finally執行順序問題
1、初始javap,通過javap命令檢視程式計數器、區域性變量表,運算元棧變化。 public class TestZhaZhaJavap { public int test() { int a=100; int b=200; int c=
Latex:基本用法、表格、公式、演算法(持續更新)
在檢視的時候可以直接使用目錄快捷索引直接定位 基本用法 1、中文例項 \documentclass{cctart} \begin{document} \kaishu 這是中文楷體字 \end
latex 基本用法(二)—— 矩陣(增廣矩陣、長虛線)
modm :\mod (modn):\pmod 1. 增廣矩陣 比如雞兔同籠問題的線性方程組: x+y=152x+4y=40 首先是有無解的判斷,也即是否 R(A|b)=R(Am×
深入java final關鍵字 基本用法、注意點和優點
本文講解final的基本用法和裡面的優缺點,原創不易,轉載請註明出處 文章分為3部分,分別會給大家介紹final關鍵字對類,方法和變數的修飾所起到的作用,以及一些優點,對於缺點大家可以參考《JAVA程式設計思想》第四版 156頁。 final類及其優點 f