一 nsstring
是不可變字串,所有它所有產生其他字串方法都是生成乙個新的字串,而不會改變原來字串
第一種:字面量
,它是常量字串,儲存常量區
nsstring
*str =
@"abc"
;第二種是通過
快捷的構造方法
nsstring
stringwithformat:
第三種方式
初始化方法 [
nsstring
alloc
] initwithformat:
二,字串的獲取
1、獲取字元長度
nsstring
*str =
@"www.itcast.cn";
long
length = str.
length;
2、獲取子串
從哪個索引開始擷取到字串的末尾
(包含索引上字元)
nsstring
*str2 = [str
substringfromindex:4
]; 從字元開頭開始擷取到索引的位置
(不包含索引上的字元)
nsstring
*str3 = [str
substringtoindex:3
]; 從哪個位置開始擷取,擷取多長
nsrange
range = ;
nsstring
*str4 = [str
substringwithrange
:range];
獲取某個子串所在的區間
nsrange
range1 = [str
rangeofstring
:@"itcast"];
nslog
(@"%@"
,nsstringfromrange
(range));
nsrange
range2 = [str
rangeofstring
:@"icast"];
if(range2.
location
== nsnotfound)
3、字串以什麼開頭
hasprefix 字首
hassuffix 字尾 4
、字串的比較
1)比較是內容
,從前往後乙個乙個的比較
nscomparisonresult
result = [str1
compare
:str2];
nsorderedascending = -1l, str1 < str2
nsorderedsame, str1 == str2
nsordereddescending str1 > str2
- (nscomparisonresult
)compare:(
nsstring
*)string options:(
nsstringcompareoptions
)mask;
nscaseinsensitivesearch
忽略大小寫
nsnumericsearch
用於數值型別的比較 4
、字串大小寫的轉變
uppercasestring 大寫
lowercasestring 小寫
字元轉基本資料型別
inti = intstr.
intvalue;
double
d = intstr.
doublevalue;
float
f = intstr.
floatvalue;
把c語言字串轉換為
oc字串
[nsstring
stringwithcstring
:"hehe"
encoding
:nsutf8stringencoding];
把oc語言字串轉換為
c字串
const
char
*cstr = [str8
cstringusingencoding
:nsutf8stringencoding];
在原有字串的末尾拼接另乙個字元產生乙個新的字串 :
字元替換(去掉字串中的空格)
- (nsstring
*)stringbyreplacingoccurrencesofstring:(
nsstring
*)target withstring:(
nsstring
*)replacement
使用某個字串替換掉原來字串中某個區間的字串
nsrange
range = [str
rangeofstring
:@"itcast"];
str1 = [str
stringbyreplacingcharactersinrange
:range
withstring:@"
傳智播客"];
刪除原字串中的所有指定的字元
str1 = [str
stringbyreplacingoccurrencesofstring
:@"itcast"
withstring
:@""];
【掌握】去掉兩頭的空格
str1 = [str
stringbytrimmingcharactersinset
:[nscharacterset
whitespacecharacterset
]];
在原來的路徑上拼接乙個路徑
刪除原來檔案路徑的副檔名.***
stringbydeletingpathextension:
為沒有副檔名的檔案路徑新增副檔名 :
二 nsmutablestring
可變字元,它是
nsstring
子類可以進行
增改刪的操作,乙個字串需要經常修改其中的內容,那麼就使用
nsmutablestring
capacity
表示容量,可以容納多少字元,如果你字串超這個儲存空間它擴充套件它
stringwithcapacity
- (void
)insertstring:(
nsstring
*)astring atindex:(
nsuinteger
)loc;展它插入字串
- (void
)deletecharactersinrange:(
nsrange
)range;刪除range範圍內的字串
- (void
nsstring
*)astring;
拼接字串
- (void
nsstring
*)format, ...
ns_format_function(1
,2);
- (void
)setstring:(
nsstring
*)astring;
注意:可變字串不能使用字面量的方式賦值,字面量定義的是乙個不可以變字串.例如下面所寫錯誤
nsmutablestring *strmm = @"abc";
StrngBuffer可變字串
stringbuffer和string區別 stringbuffer和string區別 string 一單被建立後,值就不能改變,如果參與了操作,引用發生了變化,不是在原有的字串上操作,而是產生了新的字串。stringbuffer建立後值可以變化 增刪改 位址不會有變化,不會產生新的字串。strin...
可變長字串
目錄stringbuilder 其他可變長字串,jdk1.0提供,執行效率慢,執行緒安全字串緩衝區 執行緒安全的可變字串 字串行 字串 如果字串需要頻繁修改,可用stringbuffer構造方法stringbuffer 初始容量為16個字元 stringbuffer int capacity 構造乙...
mysql 可變字串 MySQL 字串型別
字串型 set enum blob text varchar char。1.char 字元 格式 char m 固定長度 m 表示嚴格限定的長度。char 5 varchar 5 5位元組1位元組 需要乙個位元組,儲存字串的總長度 abc abcde abcdef 超出限制,插入不成功 插入不成功 ...