OC字串的常用方法
網上寫的關於字串常用方法的部落格很多,這裡我簡單做了下總結!不喜勿噴哦!
一.建立字串
#import <Foundation/Foundation.h>
//NSString
//建立不可變字串物件的類
//NSMutableString
//建立可變字串物件的類
//OC語言完全相容C語言
//OC字串與C語言字串區別
//1.OC字串是一個字串物件,字串常量需要用@""包含
//2.C語言字串用""包含
//3.C語言的字串以字元的ASCII碼形式儲存
//4.OC中的字串以uicode編碼(萬國碼)形式儲存
//UTF-8(多位元組編碼)
//5.列印OC字串用%@,列印C語言字串用%s
int main(int argc,constchar * argv[]) {
@autoreleasepool {
NSString *str1 =@"hello world";//@"hello world"是一個常量字串物件,儲存常量區,不可以被修改
NSLog(@"str1 = %@", str1);
//格式化建立字串物件
//- (instancetype)initWithFormat:(NSString *)format, ...
NSString *str2 = [[NSString alloc] initWithFormat:@"%s%d%@","hello",123,@"world" ];
NSLog(@"str2 = %@", str2);
//用格式化的類方法建立字串物件
//+ (instancetype)stringWithFormat:(NSString *)format, ...
NSString *str3 = [NSString stringWithFormat:@"%s%d%@","qiafdn",456,@"ffds"];
NSLog(@"str3 = %@", str3);
//用給定的字串物件建立字串物件
NSString *str4=@"中國教育";
NSString *str5 = [[NSString alloc] initWithString:str4];
NSLog(@"str5 = %@", str5);
//用C的字串建立OC的字串物件
NSString *str6 = [[NSString alloc] initWithUTF8String:"qifdfdg中國jiaoyu"];
NSLog(@"str6 = %@", str6);
NSString *str7 = [[NSString alloc] initWithCString:"我的qifdfg" encoding:NSUTF8StringEncoding];
NSLog(@"str7 = %@", str7);
//建立一個空的字串物件 @""
NSString *str8 = [NSString string];
NSLog(@"str8 = %@", str8);
NSString *str9 = [[NSString alloc] init];
NSLog(@"str9 = %@", str9);
//跟initWithString相對應
NSString *str10 = [NSString stringWithString:str7];
NSLog(@"str10 = %@", str10);
//跟initWithUTF8String相對應
NSString *str11 = [NSString stringWithUTF8String:"hello world中國"];
NSLog(@"str11 = %@", str11);
//跟initWithCString相對應
NSString *str12 = [NSString stringWithCString:"zhongguo" encoding:NSUTF8StringEncoding];
NSLog(@"str12 = %@", str12);
}
return0;
}
二.NSString的常用方法
#import <Foundation/Foundation.h>
//NSString
int main(int argc,constchar * argv[]) {
@autoreleasepool {
NSString *str1 =@"hello world中國";
//求字串長度
NSUInteger len = [str1 length];
NSLog(@"len = %li", len);
//獲取字串指定位置的字元
unichar ch = [str1 characterAtIndex:13];
NSLog(@"ch = %C", ch);//%C列印unichar字元 %c列印ASCII字元
//字串提取
//從傳入下標位置提取子串到字串結束
NSString *subStr1 = [str1 substringFromIndex:4];
NSLog(@"subStr1 = %@", subStr1);
//提取子串到指定位置(不包含下標位置字元)
NSString *subStr2 = [str1 substringToIndex:7];
NSLog(@"subStr2 = %@",subStr2);
//提取指定範圍內的字串
NSRange range = {6,5};
NSString *subStr3 = [str1 substringWithRange:range];
NSLog(@"subStr3 = %@", subStr3);
//NSMakeRange();//構建NSRange變數
NSString *subStr4 = [str1 substringWithRange:NSMakeRange(2,6)];
NSLog(@"subStr4 = %@", subStr4);
//字串比較
NSString *str2 = [NSString stringWithCString:"hallo world中國" encoding:NSUTF8StringEncoding];
NSString *str3 = [NSString stringWithUTF8String:"hello world中國"];
NSComparisonResult result = [str2 compare:str3];
if (result == NSOrderedAscending) {//遞增
NSLog(@"str2 < str3");
}
elseif(result == NSOrderedDescending)//遞減
{
NSLog(@"str2 > str3");
}
else
{
NSLog(@"str2 == str3");
}
//以大小寫不敏感方式比較字串
//[str2 caseInsensitiveCompare:str3];
//判斷兩個字串是否相等
//- (BOOL)isEqualToString:(NSString *)aString;
BOOL ret = [str2 isEqualTo:str3];
if (ret==YES) {
NSLog(@"str2 == str3");
}
else
{
NSLog(@"str2 != str3");
}
//判斷字首子串
//- (BOOL)hasPrefix:(NSString *)aString;
BOOL ret1 = [@"www.baidu.com" hasPrefix:@"www."];
NSLog(@"ret1 = %d", ret1);
//判斷後綴子串
//- (BOOL)hasSuffix:(NSString *)aString;
BOOL ret2 = [@"www.hao123.com" hasSuffix:@"com"];
NSLog(@"ret2 = %d", ret2);
//判斷是否包含子串(10.10macos)
BOOL ret3 = [@"hao123" containsString:@"hao"];
NSLog(@"ret3 = %d", ret3);
//查詢子串
NSString *str4 = [[NSString alloc] initWithFormat:@"%s","hello world qidfafddnworldfedffsng"];
NSRange range1 =[str4 rangeOfString:@"world"];
if (range1.location == NSNotFound) {//不能查詢對應的子串,返回long型別最大值
NSLog(@"沒有查詢到字串 notfound = %lu", NSNotFound);
}
else
{
NSLog(@"location = %lu length = %lu", range1.location, range1.length);
}
//倒序查詢子串
NSRange range2 = [str4 rangeOfString:@"world" options:NSBackwardsSearch];
NSLog(@"location = %li length = %li", range2.location, range2.length);
//字串追加
//並不是直接在原字串的末尾追加字串,而是利用傳入的字串及原字串建立一個新的字串
NSString *str5 =@"hello";
NSLog(@"%p", str5);
str5 = [str5 stringByAppendingString:@"world"];
NSLog(@"str5 = %@", str5);
NSLog(@"%p", str5);
//格式化追加字串
NSString *str6 =@"qfdfdng";
str6 = [str6 stringByAppendingFormat:@"%d%s",123,"helloworld"];
NSLog(@"str6 = %@", str6);
//把字元換串物件轉換成整型浮點型
int a = [@"12345" intValue];
float f = [@"3.14" floatValue];
NSLog(@"a = %d f = %.2f", a, f);
//返回公共字首子串
NSString *str7 = [@"www.baidu.com" commonPrefixWithString:@"www.hao123.com"options:NSLiteralSearch];
NSLog(@"str7 = %@", str7);
//大小寫轉換
//把小寫字母轉換成大寫字母
NSString *str8 = [@"baidu中國" uppercaseString];
NSLog(@"str8 = %@", str8);
//把大寫字母轉換成小寫字母
NSString *str9 = [@"BaiDU" lowercaseString];
NSLog(@"str9 = %@", str9);
//把每個單詞的首字母大寫
NSString *str10= [@"bai du qian feng" capitalizedString];
NSLog(@"str10 = %@", str10);
//字串替換
//- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
NSString *str11=@"hello world qiafdfnfdg hello world hello hell qdfdfnfdg";
str11 = [str11 stringByReplacingOccurrencesOfString:@"hello" withString:@"welcome"];
NSLog(@"str11 = %@", str11);
//替換指定範圍內的字元
//- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement
NSString *str12 =@"hello world qianfeng";
str12 = [str12 stringByReplacingCharactersInRange:NSMakeRange(12,8) withString:@"welcome"];
NSLog(@"str12 = %@", str12);
//把OC的字串物件轉換成C字串
NSLog(@"%s", [@"hello world" UTF8String]);
//用網址的內容生成OC字串對像
//- (instancetype)initWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error;
//+ (instancetype)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error;
NSURL *url= [[NSURL alloc] initWithString:@"http://www.baidu.com"];
NSString *urlContent = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];//nil空指標
NSLog(@"urlContent = %@", urlContent);
//用檔案的內容生成字串
//- (instancetype)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;
//+ (instancetype)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;
NSString *fileContent = [NSString stringWithContentsOfFile:@"/Users/zhangxueming/Desktop/json.txt"encoding:NSUTF8StringEncoding error:nil];
NSLog(@"fileContent = %@", fileContent);
}
return0;
}
三.NSSMUtableString的常用方法
#import <Foundation/Foundation.h>
//NSMutableString 繼承與NSString
//所有NSString類的方法NSMutableString都可以使用
int main(int argc,constchar * argv[]) {
@autoreleasepool {
//建立指定容量大小的可變字串物件
//+ (NSMutableString *)stringWithCapacity:(NSUInteger)capacity;
NSMutableString *mulStr1 = [[NSMutableString alloc] initWithCapacity:20];
NSLog(@"mulStr1 = %@", mulStr1);
//替換指定範圍內的字元
//- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString;
NSMutableString *mulStr2 = [[NSMutableString alloc] initWithString:@"hello world qianfdfsfefdg"];
[mulStr2 replaceCharactersInRange:NSMakeRange(6,5) withString:@"welcome"];
NSLog(@"mulStr2 = %@", mulStr2);
//在指定位置增加字串
NSMutableString *mulStr3 = [[NSMutableString alloc] initWithFormat:@"夢想中國"];
[mulStr3 insertString:@"hello world" atIndex:2];
NSLog(@"mulStr3 = %@", mulStr3);
//刪除指定範圍內的字元
NSMutableString *mulStr4 = [NSMutableString stringWithUTF8String:"熱愛hello world中國"];
[mulStr4 deleteCharactersInRange:NSMakeRange(2,11)];
NSLog(@"mulStr4 = %@", mulStr4);
//追加字串
NSMutableString *mulStr5 = [NSMutableString stringWithString:@"helloworld"];
[mulStr5 appendString:@"qidffdf"];
NSLog(@"mulStr5 = %@", mulStr5);
//格式化追加字串
NSMutableString *mulStr6 = [NSMutableString stringWithFormat:@"%s%d","hello",12345];
[mulStr6 appendFormat:@"%.2f%@",3.14,@"world"];
NSLog(@"mulStr6 = %@", mulStr6);
//修改字串
NSMutableString *mulStr7 = [[NSMutableString alloc] initWithString:@"hello world"];
[mulStr7 setString:@"qifdfdng"];
NSLog(@"mulStr7 = %@", mulStr7);
}
return0;
}
相關推薦
Python 字串常用方法總結
Python 字串常用方法總結 明確:對字串的操作方法都不會改變原來字串的值 1,去掉空格和特殊符號 name.strip() 去掉空格和換行符 name.strip('xx') 去掉某個字串 name.lstrip() 去掉左邊的空格和換行符 name.rstrip() 去掉右邊的空格和換行符
python3基礎(三)-字串常用方法
1、字串獲取 str="zhantao is a good boy,boy.com" stringLength=len(str) #獲取字串長度 str[0] #代表取第一個字元 str[len(str)-1] #代表取最後一個字元,也可以使用str[-1]倒數第一個。
python的list的基本操作、list迴圈、切片、字典基本操作、字典巢狀、字串常用方法
上面說了字串和整形,那現在要是想存一個班級的人的名字,這個班有200個人,怎麼存呢,用字串的話,那就是names = 'marry lily king .....'這樣,但是這樣存是可以存,那要是想取到某個人的名字怎麼取呢,不能再去裡面看一遍吧,那累死人了,為了解決這個問題,又有一種新的資料型別應運而生,那就
3-5 字串常用方法
1、字串空格和換行符的處理 1 s = '.abc.abc.BCD,abc.' 2 # 預設去掉字串兩邊的空格和換行符 3 new_s = s.strip('.') 4 print(new_s) # abc.abc.BCD,abc 5 # 預設去掉字串右邊的空格 6 print(s.rstrip
Python----字串常用方法總結
字串可以存任意型別的字串,比如字母,名字,一句話等等。 name = 'python' tag = 'Welcome to china!' 字串還有很多內建的方法,對字串進行操作,常用的方法如下,下面註釋帶有是否的,返回的都是一個布林值1、去掉空格和特殊符號 a=' 字 符 串
Python 之字串常用方法
前言 上一篇介紹了列表的常用方法,其實字串的方法比列表的方法多得多,這裡主要列舉幾個比較常用的。 1.center center 方法是通過在字串兩邊新增填充字元(預設是空格)讓字串居中,示例如下: >>> a = 'wabdaw' >&
python字串常用方法
常用查詢方法 a = “我是吾志高,我來自火星,是個直男,同時是個男權主義者,關於當代女性所謂的抱怨 ,我只想說世界是相對公平的,就像世界上百分之九十五的危險工作都是男性在承擔,世界上 因為工作而死亡的人中,男性佔百分之九十,別逼逼說什麼女權需要加強,現在的女權
JS陣列、字串常用方法
陣列: 1.push(): 向陣列尾部新增一個或多個元素,並返回新增新元素後的陣列長度。注意,該方法會改變原陣列。 1 var arr = [1,2,3]; 2 console.log(arr); // [1, 2, 3] 3 var b = arr.pu
iOS 字串常用方法總結——不定時更新
1.字串逆序排序: NSString *strs = @"ab
JS分割字串常用方法總結
函式:substring() 定義:substring(start,end)表示從start到end之間的字串,包括start位置的字元但是不包括end位置的字元。 功能:字串擷取,比如想從"MinidxSearchEngine"中得到"Minidx"就要用到substring(0,6)
Python筆記:字串常用方法大全,手慢無(收藏專用)
文章目錄 字串大小寫轉換 字串格式輸出 字串搜尋定位與替換 字串的聯合與分割 字串條件判斷 字串切片大全 實戰示例 一、字串大小寫轉換 二、字串輸出 三、字串搜尋定位與替換 四、字串的聯合與分割
leetcode陣列或者字串常用方法總結
1.暴力法 Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given "25
python 字串常用方法
python 字串的常用方法 1.len(str) — 字串的長度 2.startsWith(str) 檢視字串是否以str子串開頭,是返回True,否則返回False 3.index(str) 查詢字串中第一次出現的子串str的下標索引,如果沒找到則報
day2 -- 字串常用方法、列表、字典
1.字串常用方法 name = "Convict abc" count(): print(name.count("c")) # 2 find(): print(name.find("a")) # 8 index(
Python學習筆記(2)——字串常用方法(對齊、替換、拆分、合併)
1. 字串對齊——center、ljust、rjust 通過在兩邊填充字元(預設空格)讓字串居中、左對齊、右對齊。 2. 查詢子串——find、index、count find:查詢子串,返回子串第一個字元的索引,如果沒找到返回-1。 index:查詢子串,返回子
Shell處理字串常用方法
一、構造字串 直接構造 STR_ZERO=hello STR_FIRST="i am a string" STR_SECOND='success' 重複多次 #repeat the first parm($1) by $2 times strRepeat() { local x=$2 if [ "$x" ==
Python字串常用方法總結
str常用方法總結 1 str.capitalize() 將字串的首字母轉化為大寫,其他字母全部轉化為小寫。 如: ‘hello, World’.capitalize()會輸出’Hello, world’ 2 str.lower() 將字母轉化為小
Object-c之不可變字串 常用方法
// 01.建立不可變字串 NSString *str =[NSStringstring]; // 空字串物件 NSLog(@"str= %@", str); NSString *str1 =@"此字串存放於常量區"; NSLog(@
OC字串的常用方法
網上寫的關於字串常用方法的部落格很多,這裡我簡單做了下總結!不喜勿噴哦! 一.建立字串 #import <Foundation/Foundation.h> //NSString //建立不可變字串物件的類 //NSMutableString //建立可變字
oc學習之NSSring字串的常用方法
一,NSString類 1,建立字串物件 NSString *str = @"hello world!";//建立字串常量 //建立一個空的字串 NSString *str = [ [NSString alloc] init]; NSString *str = [NSStr