国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Objective-C NSString

2019-11-09 17:22:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

介紹

我們現(xiàn)在開(kāi)發(fā)都是面向?qū)ο?,面向?qū)ο蟮膬?yōu)點(diǎn)就不在這里介紹了,NSString就是字符串面向?qū)ο蟮漠a(chǎn)物,一個(gè)NSString對(duì)象就代表一個(gè)字符串。

NSString創(chuàng)建

1.直接創(chuàng)建

NSString *str = @"string";

2.格式化的方式

NSString *str = [NSString stringWithFormat:@"My age is %d", 10];NSString *str = [[NSString alloc] initWithFormat:@"My age is %d", 10];

3.從文件中讀取

// 用來(lái)保存錯(cuò)誤信息NSError *error = nil;// 讀取文件內(nèi)容NSString *str = [NSString stringWithContentsOfFile:@"/Users/Gavin/Desktop/test.txt" encoding:NSUTF8StringEncoding error:&error];// 如果有錯(cuò)誤信息if (error) { NSLog(@"讀取失敗, 錯(cuò)誤原因是:%@", [error localizedDescription]);} else { // 如果沒(méi)有錯(cuò)誤信息 NSLog(@"讀取成功, 文件內(nèi)容是:/n%@", str);}

4.從URL中讀取

// 用來(lái)保存錯(cuò)誤信息NSError *error = nil;// 創(chuàng)建URL路徑NSURL *url = [NSURL URLWithString:@"file:///Users/Gavin/Desktop/test.txt"];// 讀取文件內(nèi)容NSString *str = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];// 如果有錯(cuò)誤信息if (error) { NSLog(@"讀取失敗, 錯(cuò)誤原因是:%@", [error localizedDescription]);} else { // 如果沒(méi)有錯(cuò)誤信息 NSLog(@"讀取成功, 文件內(nèi)容是:/n%@", str);}

NSString儲(chǔ)存

儲(chǔ)存到文件

NSString *str = @"test";[str writeToFile:@"/Users/gavin/Desktop/str.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];

儲(chǔ)存到URL

[str writeToURL:[NSURL URLWithString:@"/Users/gavin/Desktop/str.txt"] atomically:YES encoding:NSUTF8StringEncoding error:nil];

NSString大小寫處理

全部字符轉(zhuǎn)為大寫

- (NSString *)uppercaseString;

全部字符轉(zhuǎn)為小寫

- (NSString *)lowercaseString

首字母大寫,其他小寫

- (NSString *)capitalizedString

NSString比較

//兩個(gè)字符串的內(nèi)容相同就返回YES, 否則返回NO- (BOOL)isEqualToString:(NSString *)aString;/* 這個(gè)方法可以用來(lái)比較兩個(gè)字符串內(nèi)容的大小 比較方法: 逐個(gè)字符地進(jìn)行比較ASCII值,返回NSComparisonResult作為比較結(jié)果 NSComparisonResult是一個(gè)枚舉,有3個(gè)值: 如果左側(cè) > 右側(cè),返回NSOrderedDescending, 如果左側(cè) < 右側(cè),返回NSOrderedAscending, 如果左側(cè) == 右側(cè)返回NSOrderedSame*/- (NSComparisonResult)compare:(NSString *)string;//忽略大小寫進(jìn)行比較,返回值與compare:一致- (NSComparisonResult) caseInsensitiveCompare:(NSString *)string;

NSString搜索

//是否以aString開(kāi)頭- (BOOL)hasprefix:(NSString *)aString;//是否以aString結(jié)尾- (BOOL)hasSuffix:(NSString *)aString;/* 用來(lái)檢查字符串內(nèi)容中是否包含了aString 如果包含, 就返回aString的范圍 如果不包含, NSRange的location為NSNotFound, length為0*/- (NSRange)rangeOfString:(NSString *)aString;

NSRange

NSRange是Foundation框架中比較常用的結(jié)構(gòu)體, 它的定義如下:

typedef struct _NSRange { NSUInteger location; NSUInteger length;} NSRange;// NSUInteger的定義typedef unsigned int NSUInteger;

NSRange用來(lái)表示事物的一個(gè)范圍,通常是字符串里的字符范圍或者數(shù)組里的元素范圍,NSRange有2個(gè)成員: NSUInteger location : 表示該范圍的起始位置 NSUInteger length : 表示該范圍內(nèi)的長(zhǎng)度

NSString *str = @"gavin.swift";//其中swift//location為:6;//length為:5

NSRang創(chuàng)建

//方式1NSRange range;range.location = 6;range.length = 5;//方式2NSRange range = {6, 5};//或者 NSRange range = {.location = 6,.length = 5};//方式3 : 使用NSMakeRange函數(shù)NSRange range = NSMakeRange(6, 5);

NSString截取和替換

從指定位置from開(kāi)始(包括指定位置的字符)到尾部

- (NSString *)substringFromIndex:(NSUInteger)from;

從字符串的開(kāi)頭一直截取到指定的位置to,但不包括該位置的字符

- (NSString *)substringToIndex:(NSUInteger)to;

按照所給出的NSRange從字符串中截取子串

- (NSString *)substringWithRange:(NSRange)range;

用replacement替換target

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;

NSString路徑

是否為絕對(duì)路徑

- (BOOL)isAbsolutePath;

獲得最后一個(gè)目錄

- (NSString *)lastPathComponent;

刪除最后一個(gè)目錄

- (NSString *)stringByDeletingLastPathComponent;

在路徑的后面拼接一個(gè)目錄

- (NSString *)stringByAppendingPathComponent:(NSString *)str;

NSString文件拓展名

獲得拓展名

- (NSString *)pathExtension;

刪除尾部的拓展名

- (NSString *)stringByDeletingPathExtension;

在尾部添加一個(gè)拓展名

- (NSString *)stringByAppendingPathExtension:(NSString *)str;

NSString其他用法

返回字符串的長(zhǎng)度

- (NSUInteger)length;

返回index位置對(duì)應(yīng)的字符

- (unichar)characterAtIndex:(NSUInteger)index;

轉(zhuǎn)為基本數(shù)據(jù)類型

- (double)doubleValue;- (float)floatValue;- (int)intValue;

轉(zhuǎn)為C語(yǔ)言中的字符串

- (char *)UTF8String;

去除所有的空格

[str stringByReplacingOccurrencesOfString:@" " withString:@""]

去除首尾的空格

[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

NSMutableString

NSMutableString是NSString的子類,區(qū)別在于NSString是不可變的, 里面的文字內(nèi)容是不能進(jìn)行修改的,NSMutableString是可變的, 里面的文字內(nèi)容可以隨時(shí)更改,子類可以使用父類所有方法。

NSMutableString常用方法

拼接aString到最后面

- (void)appendString:(NSString *)aString;

拼接一段格式化字符串到最后面

- (void)appendFormat:(NSString *)format;

刪除range范圍內(nèi)的字符串

- (void)deleteCharactersInRange:(NSRange)range;

在loc這個(gè)位置中插入aString

- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;

使用aString替換range范圍內(nèi)的字符串

- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString;

PS

這出來(lái)感覺(jué)像是中文翻譯有木有,NSString的其他方法大家可以再官方文檔中找到對(duì)應(yīng)的解釋和最新的替代,這里只是摘要和總結(jié)。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 明溪县| 东乌珠穆沁旗| 沁源县| 仙桃市| 连南| 湘乡市| 南江县| 古浪县| 霍山县| 呈贡县| 石棉县| 陆丰市| 天等县| 武城县| 沅江市| 延津县| 平阴县| 鹿泉市| 株洲县| 绩溪县| 沙河市| 凤凰县| 阳高县| 常德市| 澄江县| 龙胜| 东丽区| 宁城县| 长春市| 栖霞市| 亚东县| 南漳县| 石台县| 藁城市| 射洪县| 岱山县| 苍山县| 常宁市| 晋宁县| 准格尔旗| 芜湖县|