1. 程式人生 > >NSString、NSMutableString基本用法

NSString、NSMutableString基本用法

NSString其實是一個物件型別。NSString是NSObject(Cocoa Foundation的基礎物件)的子類

一、NSString的建立

1、建立常量字串。
NSString *astring = @"This is a String!";

2、建立空字串,給予賦值。
NSString *astring = [[NSString alloc] init];
astring = @"This is a String!";
[astring release];
NSLog(@"astring:%@",astring);

NSString *astring = [[NSString alloc] init];
NSLog(@"0x%.8x", astring);

[email protected]"This is a String!";
NSLog(@"0x%.8x", astring);
[astring release];
NSLog(@"astring:%@",astring);

3、在以上方法中,提升速度:initWithString方法
NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
[astring release];

4、用標準c建立字串:initWithCString方法


char *Cstring = "This is a String!";
NSString *astring = [[NSString alloc] initWithCString:Cstring];
NSLog(@"astring:%@",astring);
[astring release];

5、建立格式化字串:佔位符(由一個%加一個字元組成)
int i = 1;
int j = 2;
NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%d.This is %i string!",i,j]];
NSLog(@"astring:%@",astring);
[astring release];

6、建立臨時字串
NSString *astring;
astring = [NSString stringWithCString:"This is a temporary string"];
NSLog(@"astring:%@",astring);

7、寫字串到檔案:writeToFile方法    
NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
NSString *path = @"astring.text";    
[astring writeToFile: path atomically: YES];
[astring release];  

8、從檔案讀取字串:initWithContentsOfFile方法 
NSString *path = @"astring.text";
NSString *astring = [[NSString alloc] initWithContentsOfFile:path];
NSLog(@"astring:%@",astring);
[astring release];

二、字串的比較

1、用C比較:strcmp函式
char string1[] = "string!";
char string2[] = "string!";
if(strcmp(string1, string2) = = 0)
{
NSLog(@"1");
}

2、isEqualToString方法    
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 isEqualToString:astring02];
NSLog(@"result:%d",result);

3、compare方法(comparer返回的三種值)    
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"This is a String!";    
BOOL result = [astring01 compare:astring02] = = NSOrderedSame;    
NSLog(@"result:%d",result);    
//NSOrderedSame判斷兩者內容是否相同

NSString *astring01 = @"This is a String!";
NSString *astring02 = @"this is a String!";
BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;    
NSLog(@"result:%d",result);
//NSOrderedAscending判斷兩物件值的大小(按字母順序進行比較,astring02大於astring01為真)

不考慮大小寫比較字串
NSString *astring01 = @"this is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;    
NSLog(@"result:%d",result);     
//NSOrderedDescending判斷兩物件值的大小(按字母順序進行比較,astring02小於astring01為真)

不考慮大小寫比較字串2
NSString *astring01 = @"this is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 compare:astring02
options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;    
NSLog(@"result:%d",result);     
P.S : NSCaseInsensitiveSearch:不區分大小寫比較 NSLiteralSearch:進行完全比較,區分大小寫 NSNumericSearch:比較字串的字元個數,而不是字元值。

三、改寫字串

NSString *string1 = @"A String"; 
NSString *string2 = @"String"; 
NSLog(@"string1:%@",[string1 uppercaseString]);//大寫
NSLog(@"string2:%@",[string2 lowercaseString]);//小寫
NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小

四、搜尋字串

NSString *string1 = @"This is a string";
NSString *string2 = @"string";
NSRange range = [string1 rangeOfString:string2];
int location = range.location;
int leight = range.length;
NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];
NSLog(@"astring:%@",astring);
[astring release];

五、字串的擷取

1.-substringToIndex: 從字串的開頭一直擷取到指定的位置,但不包括該位置的字元
NSString *string1 = @"This is a string";
NSString *string2 = [string1 substringToIndex:3];
NSLog(@"string2:%@",string2);

2.-substringFromIndex: 以指定位置開始(包括指定位置的字元),幷包括之後的全部字元
NSString *string1 = @"This is a string";
NSString *string2 = [string1 substringFromIndex:3];
NSLog(@"string2:%@",string2);

3.-substringWithRange: //按照所給出的位置,長度,任意地從字串中擷取子串
NSString *string1 = @"This is a string";
NSString *string2 = [string1 substringWithRange:NSMakeRange(0, 4)];
NSLog(@"string2:%@",string2);

4.擷取NSString最後一位符號後的東西

方法1.

NSString *str = @"/Users/yangiori/Library/Application Support/iPhone Simulator/5.1/Applicati*****/8724956B-407E-4ACD-BBA6-95C7D033C33D/Documents/content/chapters/8";
NSString *temp1 = [[str componentsSeparatedByString:@"/"] lastObject];
NSLog(@"%@",temp1);

結果:8

方法2.

NSString *str = @"/Users/yangiori/Library/Application Support/iPhone Simulator/5.1/Applicati*****/8724956B-407E-4ACD-BBA6-95C7D033C33D/Documents/content/chapters/8";

NSString *temp2 = [str substringFromIndex:[str length]-1];

NSLog(@"%@",temp2);

結果:8

5.從指定位置擷取字串

NSString * str =[NSString stringWithFormat:@"********************Documents/image%i.jpg",2];

NSRange range = [str rangeOfString:@"Documents"]; 

NSString * result = [str substringFromIndex:range.location]; 

NSLog(@"%@",result);

六、其他操作

1.擴充套件路徑
NSString *Path = @"~/NSData.txt";
NSString *absolutePath = [Path stringByExpandingTildeInPath];
NSLog(@"absolutePath:%@",absolutePath);
NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);

2.副檔名
NSString *Path = @"~/NSData.txt";
NSLog(@"Extension:%@",[Path pathExtension]);

NSMutableString

基本用法

1.給字串分配容量

stringWithCapacity:
NSMutableString *String;
String = [NSMutableString stringWithCapacity:40];

2.在已有字串後面新增字元

appendString: and appendFormat:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 appendString:@", I will be adding some character"];
[String1 appendFormat:[NSString stringWithFormat:@", I will be adding some character"]];
NSLog(@"String1:%@",String1);

3.在已有字串中按照所給出範圍和長度刪除字元

deleteCharactersInRange:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 deleteCharactersInRange:NSMakeRange(0, 5)];
NSLog(@"String1:%@",String1);

4.在已有字串後面在所指定的位置中插入給出的字串

-insertString: atIndex:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 insertString:@"Hi! " atIndex:0];
NSLog(@"String1:%@",String1);

5.將已有的空符串換成其它的字串

-setString:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 setString:@"Hello Word!"];
NSLog(@"String1:%@",String1);

6.按照所給出的範圍,和字串替換的原有的字元

-setString:
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
[String1 replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
NSLog(@"String1:%@",String1);

7.判斷字串內是否還包含別的字串(字首,字尾)

01:檢查字串是否以另一個字串開頭- (BOOL) hasPrefix: (NSString *) aString;
NSString *String1 = @"NSStringInformation.txt";
[String1 hasPrefix:@"NSString"] = = 1 ?  NSLog(@"YES") : NSLog(@"NO");
[String1 hasSuffix:@".txt"] = = 1 ?  NSLog(@"YES") : NSLog(@"NO");

02:查詢字串某處是否包含其它字串 - (NSRange) rangeOfString: (NSString *) aString,這一點前面在串中搜索子串用到過;

相關推薦

NSStringNSMutableString基本用法

NSString其實是一個物件型別。NSString是NSObject(Cocoa Foundation的基礎物件)的子類 一、NSString的建立 1、建立常量字串。 NSString *astring = @"This is a String!"; 2、建立空

ES系列二十kibana基本用法

可能 基本 com src 多個 discover 點擊 play spa 一. 定義索引模式匹配 1、前綴模糊匹配,一個模式匹配多個索引   每一個數據集導入到Elasticsearch後會有一個索引匹配模式,在上段內容莎士比亞數據集有一個索引名稱為sh

工具類CollectionsArrays基本用法練習

import java.util.ArrayList; import java.util.Collections; import java.util.List; /* * 工具類練習:Collection */ public class Demo07 {

HTML5本地儲存localStoragesessionStorage基本用法遍歷操作異常處理等

HTML5 的本地儲存 API 中的 localStorage 與 sessionStorage 在使用方法上是相同的,區別在於 sessionStorage 在關閉頁面後即被清空,而 localStorage 則會一直儲存。我們這裡以 localStorage 為例,簡

DatePickerTimePicker基本用法

前言 在時間和日期開發中,TimePicker和DatePicker經常使用到,這倆個控制元件是嵌入到View中的,如果想使用彈窗式的,可是使用TimePickerDialog和DataPickerDialog。這次我主要是實現了一個帶確定和取消按鈕的時間選擇

Java中對映Map的mergecomputecomputeIfAbsentcomputeIfPresent基本用法

下面是Java8中Map的一些新方法merge、compute、computeIfAbsent、computeIfPresent介紹。 我們在專案開發中,經常使用map,key有時存在有時不存,我們需要是用containsKey去判斷,然後再決定如何修改value。 這樣比

sed基本用法 sed文字塊處理 sed高階應用 總結和答疑

Top NSD SHELL DAY05 案例1:sed基本用法 案例2:使用sed修改系統配置 案例3:sed多行文字處理 案例4:sed綜合指令碼應用 1 案例1:sed基本用法 1.1 問題 本案例要求熟悉sed命令的p、d、s等常見操作,並

實際開發中,BigDecimal加減乘除比較大小基本用法

BigDecimal bignum1,bignum2,bignum3 = new BigDecimal(0);//加法    bignum3 =  bignum1.add(bignum2);        System.o

第四周作業(aliasgrep正則表示式find命令的基本用法

1.命令別名 alias的用法 通過alias命令實現: (1)alias不帶任何選項將顯示當前shell下所有的可用的命令別名的資訊,其中,等號之前表示新的命令名稱,等號右邊表示的是要替代的命令及其引數。 (2)定義別名: alias new_name='old_name options' 注:通

QT中圖表類QChart系列之(1)-基本用法,畫折線圖各個類之間的關係

首先要注意3點: (1)在.pro檔案中新增:QT       += charts。 (2)用到QChart的檔案中新增:QT_CHARTS_USE_NAMESPACE,或者:using namespace QtCharts; 在ui介面中拖入一個graphicsVi

4.2Django - URL之檢視基本用法

此節介紹檢視的基本用法。 檢視 1、檢視一般都是寫在APP的views.py檔案中 2、檢視中函式的第一個引數永遠都是request (一個HttpResponse)物件。該物件儲存了請求過程中所有的資訊,如:所需要的引數以及一些頭部資訊等 。在檢視中,一般是完成邏輯相關的操作

shell基本用法實戰迴圈python指令碼

1.  數字集合 for i in {1..20} do   echo  $i done 2.詳細列出(字元且項數不多) for i in 1 2 3 4 5 do    echo $i done 3.對存在的檔案進行迴圈 for filename in

MySQL workbench8.0 CE基本用法(建立資料庫建立表建立使用者設定使用者許可權建立SQL語句指令碼)

安裝完成MySQL後,開啟MySQL workbench8.0。 可以看到MySQL Connections下面是我們設定的MySQL本地登入賬號,這個賬號是我們在安裝MySQL過程中設定的,一般命名為root,埠為3306,密碼預設為空。雙擊進入。 要注意一點的

css基本用法(層疊群選擇符派生選擇符顏色值)

CSS 選擇符【總結】(1)  div{...}(2)  .myStyle1{...} , 對應HTML引用:< p class=myStyle1>歡迎使用ASP.NET2.0技術< /p > (3) #myStyle2{...} , 對應HTML引

python基礎之分支語句在開發中的應用場景分支語句的基本用法

1。程式中的判斷 if 微信密碼正確: 登入到介面 else: 請重新輸入密碼 2。判斷定義: 如果 條件滿足,才能做某件事情, 如果 條件不滿足,就做另外一件事情,或者什麼也不做 判斷語句 又被稱為 “分支語句”,正是因為有了判斷,才讓程式有了很多的分支 3.if 判斷語句基本語法 在 P

Centos下vimctags的配置及基本用法

   一、vi/vim 基本使用方法       vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色於任何最新的文字編輯器,這裡只是簡單地介紹一下它的配置和一小部分指令。由於對Unix及Linux系統的任何版本,vi編輯器是完全相同的,因此您可以在其他

javap -c 基本用法,簡單位元組檔案解釋,分析try 中returnfinally執行順序問題

1、初始javap,通過javap命令檢視程式計數器、區域性變量表,運算元棧變化。 public class TestZhaZhaJavap { public int test() { int a=100; int b=200; int c=

Latex:基本用法表格公式演算法(持續更新)

在檢視的時候可以直接使用目錄快捷索引直接定位 基本用法 1、中文例項 \documentclass{cctart} \begin{document} \kaishu 這是中文楷體字 \end

latex 基本用法(二)—— 矩陣(增廣矩陣長虛線)

modm :\mod (modn):\pmod 1. 增廣矩陣 比如雞兔同籠問題的線性方程組: x+y=152x+4y=40 首先是有無解的判斷,也即是否 R(A|b)=R(Am×

深入java final關鍵字 基本用法注意點和優點

本文講解final的基本用法和裡面的優缺點,原創不易,轉載請註明出處 文章分為3部分,分別會給大家介紹final關鍵字對類,方法和變數的修飾所起到的作用,以及一些優點,對於缺點大家可以參考《JAVA程式設計思想》第四版 156頁。 final類及其優點 f