OC 不可變字串和可變字串的一些用法

2021-07-09 13:01:46 字數 3031 閱讀 5532

//    字串

//    nsstring 不可變字串

//    1.初始化方法

// 初始化乙個空的字串

nsstring *string = [[nsstring

alloc] init];

nsstring *string1 = @"asds"; //

字面量

nslog(@"%@", string1);

// 根據字串初始化

nsstring *string2 = [[nsstring

alloc] initwithstring:string];

// 根據格式串初始化

nsstring *string3 = [[nsstring

alloc] initwithformat:@"

男哥最帥

%d %f", 10, 11.5];

nslog(@"%@", string3);

//    2.便利構造器

// 建立乙個空的字串

nsstring *string4 = [nsstring

string];

// 通過乙個字串建立字串

nsstring *string5 = [nsstring

stringwithstring:string3];

// 通過乙個格式串初始化

nsstring *string6 = [nsstring

stringwithformat:@"%@ - %d", string5, 10];

nslog(@"%@", string6);

//    3.字串長度

nslog(@"%lu", string1.length);

//    4.獲取字串中得字元

nslog(

@"%c"

, [string1 characteratindex:

1]);

//    5.判斷字串是否相等

if ([string1 isequaltostring:@"asd"]) else

//    6.拼接字串

nslog(

@"%@"

@"hehe"

]);

//    7.替換字串

//    1).直接替換字串

nslog(

@"%@"

, [string1 stringbyreplacingoccurrencesofstring:

@"s"

withstring:

@"bb"

]);

//    2).給定範圍替換

//    nsrange range = ;

nslog(

@"%@"

, [string1 stringbyreplacingcharactersinrange:nsmakerange(1,

2) withstring:

@"a"

]);

//    8.將字串轉換成基本資料型別

//    這個字串只能包含基本資料型別的資料

nsstring *maxvalue = @"100";

//    intvalue floatvalue integervalue

nslog(@"%d", maxvalue.intvalue);

//    9.大小寫轉換

//    全部大寫

nslog(

@"%@"

, [string1 uppercasestring]);

//    全部小寫

nslog(

@"%@"

, [string1 lowercasestring]);

//    首字母大寫

nslog(

@"%@"

, [string1 capitalizedstring]);

//    10.判斷字首字尾

//    二、可變字串的使用 nsmutablestring

//    注釋:因為可變字串繼承於不可變字串,所以不可變字串的所有方法和屬性都能使用

//    1.可變字串的建立

nsmutablestring*mutablestring = [nsmutablestring

stringwithformat

:@"asdasd"];

nsmutablestring*mutablestring1 = [nsmutablestring

stringwithformat

:@"asdasda"];

//    重置字串

[mutablestring setstring:mutablestring1];

//    2.修改可變字串

//        (1)拼接

nslog(@"%@", mutablestring);

//        (2)插入

[mutablestring insertstring:@"tt"

atindex:0];

nslog(@"%@", mutablestring);

//        (3)刪除(給定範圍)

[mutablestring deletecharactersinrange:nsmakerange(3,

4)];

nslog(@"%@", mutablestring);

//        (4)替換(將乙個範圍的字串替換成另外乙個字串)

[mutablestring replacecharactersinrange:nsmakerange(0,

2) withstring:

@"hh"];

nslog(@"%@", mutablestring);

字串 可變字串與不可變字串

一 nsstring 是不可變字串,所有它所有產生其他字串方法都是生成乙個新的字串,而不會改變原來字串 第一種 字面量 它是常量字串,儲存常量區 nsstring str abc 第二種是通過 快捷的構造方法 nsstring stringwithformat 第三種方式 初始化方法 nsstrin...

OC學習 四 不可變字串類和可變字串類

今天系統性的學習了oc中的nsstring 字串 類以及它的子類nsmutablestring 可變字串 類,下面舉例介紹下裡面的一部分比較常用方法 一 nsstring類的部分方法,nsstring 是不可變字串,所以方法呼叫時並不是對原字串進行修改,而是先建立乙個原字串的副本,然後對副本內容進行...

C 字串是不可變的

string型別的關鍵特徵是在於它是不可變的 immutable 可以為string變數賦乙個全新的值,但出於效能方面考慮,沒有提供修改字串內容的機制。所以不可能將字串中的字幕全部轉換為大寫。只能新建字串,讓它成為舊字串的大寫字母版本,但舊字串在這個過程中不會被修改。1 錯誤,string是不可改變...