NSMutableString replace 字串置換方法
!!!Range定義
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
location其實就是index
length表示從index開始幾個字元
...
NSMutableString *myMSstr1;
NSMutableString *myMSstr2;
myMSstr1 = [NSMutableString stringWithFormat: @"Please don't see."];
// replace a range of chars with another (replace:置換)(將Range範圍內的字元替換)
[myMSstr1 replaceCharactersInRange: NSMakeRange(7, 10)
withString: @"see me."];
NSLog(@"%@", myMSstr1);
myMSstr2 = [NSMutableString stringWithFormat: @"%@%@%@%@%@", myMSstr1, myMSstr1, myMSstr1, myMSstr1, myMSstr1];
NSString *search, *replace;
NSRange RangeOfStr;
// Search and replace
search = @"see me.";
replace = @"don't see.";
RangeOfStr = [myMSstr1 rangeOfString: search];
if(RangeOfStr.location != NSNotFound){
[myMSstr1 replaceCharactersInRange: RangeOfStr withString: replace];
NSLog(@"%@", myMSstr1);
}
// Search and replace All 搜尋所有search字串置換為replace字串
RangeOfStr = [myMSstr2 rangeOfString: search];
while(RangeOfStr.location != NSNotFound){
[myMSstr2 replaceCharactersInRange: RangeOfStr withString: replace];
NSLog(@"%@", myMSstr2);
RangeOfStr = [myMSstr2 rangeOfString: search];
}
執行結果: