Objective C中字串的建立及常用方法

2021-08-21 21:00:28 字數 3557 閱讀 7418

靜態字串就是不可改變的字串,字串的內容不可以做新增、修改、刪除等操作,如"123",這個字串建立以後就不可以變更了,它·就是"123",但是它的指標可以重新指向其它字串。

nsstring *str1=@"字串";//系統分配記憶體無需程式設計師自己處理
nsstring *str2=[[nsstring alloc] init];

nsstring *str3=[nsstring string];//用這兩種方法建立的字串意義不大因為不可修改一直是空串

nsstring *str4=[[nsstring alloc]initwithstring:@"jack"];

nsstring *str5=[nsstring stringwithstring:str4];

int age = 10;

nsstring *name = @"rose";

nsstring *str4 = [[nsstring alloc] initwithformat:@"%@ is %d years old!", name, age];

nsstring *str4_ = [nsstring stringwithformat:@"%@ is %d years old!", name, age];

1.獲取字串的長度

nsstring *name = @"rose";

int len=name.length;//可以用於判斷字串是否為空,長度為0及為空

2.獲取子字串操作

//示例字串

nsstring *str = @"the nsstring class and its mutable subclass";

//1.從索引位置開始查詢子字串

nsstring *str1=[str substringfromindex:1];

//2.從開頭到索引位置但不包含索引位置對應的字元

nsstring *str2 = [str substringtoindex:5];

//3.獲取某個範圍的子字串

//nsrange range = ;//c語言的方式

nsrange range = nsmakerange(4, 8);

nsstring *str3 = [str substringwithrange:range];

3.字串的比較操作

nsstring *passwd = @"123";

if ([passwd isequaltostring:@"123456"]) else

nsstring *addr = @"a";

nscomparisonresult result = [addr compare:@"b"];//compare返回乙個nscomparisonresult結構體

if (result == nsorderedascending) else if (result == nsorderedsame) else

nsstring *p1= @"a";

nsstring *p2= @"a";

if ([p1 isequal:p2]) else

4.判斷字串的字首和字尾

if ([url hasprefix:@"http:"])5.判斷字串是否包含某乙個子字串

if ([url containsstring:@"baidu.com"])6.獲取某個字串在原字串裡面的具體位置

nsrange r = [url rangeofstring:@"png"];//nsrange結構體包含location、length及索引位置(1)和長度(2)

if (r.length == 0) else7.在乙個字串後面追加乙個字串形成新的字串

nsstring *hstr = @"abc";

nslog(@"%@ %@", hstr, newstr);

8.數字型字串轉化為對應的數字型別

nsstring *numstr = @"123";

int num = [numstr intvalue];

double num2=[numstr doublevalue];

float num3=[numstr floatvalue];

可以通過一些方法對字串的內容進行新增、修改、刪除等操作

nsmutablestring *mstr = [[nsmutablestring alloc] initwithcapacity:0];

nsmutablestring *mstr_ = [nsmutablestring stringwithcapacity:0];

1.字串的追加

nsmutablestring *mstr_ = [nsmutablestring stringwithcapacity:0];
2.字串的插入

[mstr insertstring:@"world " atindex:6];//atindex插入位置的索引
3.字串內容的替換

nsrange rg = [mstr rangeofstring:@"rose"];//找出要替換子串的索引位置

[mstr replacecharactersinrange:rg withstring:@"jack"];//用"jack"替換索引位置處的字串

[mstr replaceoccurrencesofstring:@"abc" withstring:@"one two three" options:nsliteralsearch range:nsmakerange(0, 3)];//將字串中的"abc"替換為"one two three",替換模式為nsliteralsearch範圍用nsrange結構體表示

/* nscaseinsensitivesearch = 1, //不區分大小寫比較

nsliteralsearch = 2, //逐字節比較 區分大小寫

nsbackwardssearch = 4, //從字串末尾開始搜尋

*/

4.刪除字串中的內容

[mstr deletecharactersinrange: nsmakerange(0, 12)];//nsmakerange(0, 12)構造nsrange型別結構體,表示要刪除的字串內容
5.重新設定字串的內容

[mstr setstring:@"abc"];

objective c中字串長度計算

我們知道,在c語言中,使用sizeof 計算在記憶體中占用的位元組數,引用string.h後,使用strlen 計算字串的長度 不包含 0 而在object c中,length 這個方法,可以返回字串的長度。比如 nsstring str 12345 int a 0 a str lenght 此時a...

Objective C中數字 字串

1.在c語言中我們討論的所有數字資料型別,int型 float型和long型都是oc語言中的基本資料型別,但他們都不是物件。如果需要儲存基本資料型別 包括char型 可以使用nsnumber類,它會根據這些資料的型別建立物件。以下是數字物件相見的操作方法。import int main int ar...

Objective C字串處理

objective c字串處理 objective c獲得字串長度 objective c兩個字串連線 檢索字串 紀錄下些許關於objective c字串處理的函式 nslog 字串處理 獲得字串長度 nsstring str1 mac os pro nslog 長度是 d str1 length ...