標籤:objective nsstring objetive-c oc
直接上代碼:
//// main.m//// Created by on 15/4/2.// Copyright (c) 2015年 . All rights reserved.//#import <Foundation/Foundation.h>#import "Tire.h"int main(int argc, const char * argv[]) { //NSString 類 /* * 學習系統類別需要把握一下幾點: * 1、根據給定的初始化方法和便利構造器方法建立對象; * 2、根據需求使用執行個體方法完成對應的操作; * 3、學會看系統類別的標頭檔; * 4、學會通過協助文檔來學習對應的方法。 */ //使用初始化方法建立// NSString *str1 = [[NSString alloc] initWithString:@"name"] ; NSString *str1 = @"name" ; NSLog( @"%@", str1 ) ;// NSString *str2 = [NSString stringWithString:@"name"] ; NSString *str2 = @"name" ; NSLog( @"%@", str2 ) ; char *cStr = "haha" ; //將C語言字串轉成OC的對象 NSString *str3 = [[NSString alloc] initWithCString:cStr encoding:NSUTF8StringEncoding] ; NSLog( @"%@", str3 ) ; NSString *str4 = [NSString stringWithCString:cStr encoding:NSUTF8StringEncoding] ; NSLog( @"%@", str4 ) ; //根據指定格式建立字串 NSString *str5 = [[NSString alloc] initWithFormat:@"%@+%d", @"en", 1001] ; NSLog( @"%@", str5 ) ; NSString *str6 = [NSString stringWithFormat:@"%@+%d", @"ne", 10014] ; NSLog( @"%@", str6 ) ; //根據指定路徑的檔案內容建立字串對象 NSString *str7 = [[NSString alloc] initWithContentsOfFile:@"/Users/lanouhn/Desktop/test.txt" encoding:NSUTF8StringEncoding error:nil] ; NSLog( @"%@", str7 ) ;// NSError *err = [NSError init] ; NSString *str8 = [NSString stringWithContentsOfFile:@"/Users/lanouhn/Desktop/words.txt" encoding:NSUTF8StringEncoding error:nil] ; NSLog( @"%@", str8 ) ; //求字串對象的長度 NSInteger length = [str8 length] ; NSLog( @"%ld", length ) ; //判斷一個字串對象是否擁有前置詞字元串 BOOL result1 = [str8 hasPrefix:@"If"] ; NSLog( @"%@", result1 ? @"YES" : @"NO" ) ; //判斷一個字串對象是否擁有尾碼 BOOL result2 = [str8 hasSuffix:@"en"] ; NSLog( @"%@", result2 ? @"YES" : @"NO" ) ; //判斷一個字串對象是否和另一個字串對象相同 BOOL result3 = [str8 isEqualToString:str7] ; NSLog( @"%@", result3 ? @"YES" : @"NO" ) ; NSLog( @"%d", result3 ) ; //字串比較排序結果 NSComparisonResult result4 = [str8 compare:str7] ; NSLog( @"%ld", result4 ) ; //擷取子字串 //從指定下標的字元開始(包含改字元)到字串結束的子字串,下標從 0 開始。 NSString *subStr1 = [str8 substringFromIndex:1] ; NSLog( @"%@", subStr1 ) ; //從下標為0的字元開始到指定的下標結束 ,此範圍內的字串 NSString *subStr2 = [str8 substringToIndex:2] ; NSLog( @"%@", subStr2 ) ; //NSRange 為結構體類型, 成員location描述下標位置,成員length描述需要截取的字串長度 NSRange rang = NSMakeRange(1, 3) ;// rang.length = 4 ;// rang.location = 2 ; NSString *subStr3 = [str8 substringWithRange:rang] ; NSLog( @"%@", subStr3 ) ; //字串拼接 //根據給定的參數字串拼接併產生新的字串,不改變原有的字串。(不可變字串) NSString *newString1 = [str8 stringByAppendingString:@"+100"] ; NSLog( @"%@", newString1 ) ; //根據給定的格式串以及參數拼接產生新的字串 NSString *newString2 = [str8 stringByAppendingFormat:@"%d", 1001] ; NSLog( @"%@", newString2 ) ; //路徑拼接 NSString *newString3 = [str8 stringByAppendingPathComponent:@"xx.avi"] ; NSLog( @"%@", newString3 ) ; //字串替換 //通過給定的第二字串替換str8中存在的字串,所有的都替換 NSString *newString4 = [str8 stringByReplacingOccurrencesOfString:@"e" withString:@"呵呵"] ; NSLog( @"%@", newString4 ) ; //字串與數實值型別資料的轉換 NSString *numString1 = @"1" ; NSInteger integerValue = [numString1 integerValue] ; NSLog( @"%ld", integerValue ) ; float integerValue1 = [numString1 floatValue] ; NSLog( @"%f", integerValue1 ) ; //大小寫轉換 NSString *string = @" i love you" ; //轉成大寫字元 NSString *upperCaseStr = [string uppercaseString] ; NSLog( @"%@", upperCaseStr ) ; //轉成小寫字元 NSString *lowercaseStr = [upperCaseStr lowercaseString] ; NSLog( @"%@", lowercaseStr ) ; //轉成首字母大寫字串(每個字串的首字母轉成大寫的) NSString *capitalString = [string capitalizedString] ; NSLog( @"%@", capitalString ) ; /* * 可變字串 * * NSMutableString * */ NSMutableString *mutableStr1 = [[NSMutableString alloc] init] ; NSLog( @"%@", mutableStr1 ) ; NSMutableString *mutableStr2 = [NSMutableString string] ; //可變字串的拼接 [mutableStr1 appendString:@"abcdef"] ; NSLog( @"%@", mutableStr1 ) ; NSString *resultString = [mutableStr1 stringByAppendingString:@"xxxx"] ; NSLog( @"%@", resultString ) ; NSLog( @"%@", mutableStr1 ) ; //另一個字串拼接方法 //stringByAppendingFormat : appendFormat [mutableStr2 appendFormat:@"wang+%d", 1001] ; NSLog( @"%@", mutableStr2 ) ; //刪除字串 [mutableStr2 deleteCharactersInRange:NSMakeRange(2, 4)] ; NSLog( @"%@", mutableStr2 ) ; //插入字串 //在給定的下標之前插入指定的字串(前插) [mutableStr2 insertString:@"123" atIndex:2] ; NSLog( @"%@", mutableStr2 ) ; //替換字串 //根據給定的字串的替換指定範圍的字元們 [mutableStr2 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"xxx"] ; NSLog( @"%@", mutableStr2 ) ; /* * 練習一: * * 給定一個圖片檔案名稱,判斷字串中是否以 * “png”結尾,如果是就替換成“jpg”,如果 不是,就拼接”.jpg”。 */ //不可變 字串 NSString *practiceStr = @"wang/zhen/gang/.png" ; if ( [practiceStr hasSuffix:@"png"] ) { NSLog( @"%@", [practiceStr stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"] ) ; } else { NSLog( @"%@", [practiceStr stringByAppendingString:@".jpg"] ) ; } //可變 字串 NSMutableString *practiceMutableStr = [[NSMutableString alloc] initWithString:@"wang.png"] ;// [practiceMutableStr appendString:@"wang.png"] ; // 注意 NSMutableSring 的初始化 不能用 文法糖 if ( [practiceMutableStr hasSuffix:@"png"] ) {// NSLog( @"%@", [practiceMutableStr stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"]) ; [practiceMutableStr replaceCharactersInRange:[practiceMutableStr rangeOfString:@"png"] withString:@"jpg"] ; } else { [practiceMutableStr appendString:@".jpg"] ; } NSLog( @"%@", practiceMutableStr ) ; return 0;}
Objective-C----NSString 、 NSMutableString