例如,要截取一個字符串中,兩個指定字符串中間的字符串,OC截取方法如下:
// 要截取 "> 和 </ 之間的漢字內容:
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSString *string = @"<a href=\"http\">這是要截取的內容</a>";
NSRange startRange = [string rangeOfString:@"\">"];
NSRange endRange = [string rangeOfString:@"</"];
NSRange range = NSMakeRange(startRange.location + startRange.length, endRange.location - startRange.location - startRange.length);
NSString *result = [string substringWithRange:range];
NSLog(@"%@",result);
}
@end
運行結果:
爲了使用方便,我們可以給 NSString 分類添加一個截取字符創的方法,直接返回截取後的字符串:代碼如下
// NSString 分類中實現如下方法:
#import "NSString+Extension_NSString.h"
@implementation NSString (Extension_NSString)
// 截取字符串方法封裝
// 截取字符串方法封裝
- (NSString *)subStringFrom:(NSString *)startString to:(NSString *)endString{
NSRange startRange = [self rangeOfString:startString];
NSRange endRange = [self rangeOfString:endString];
NSRange range = NSMakeRange(startRange.location + startRange.length, endRange.location - startRange.location - startRange.length);
return [self substringWithRange:range];
}
@end
// 控制器中直接用字符串調用:
#import "ViewController.h"
#import "NSString+Extension_NSString.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSString *string = @"<a href=\"http\">這是要截取的內容</a>";
NSString *result = [string subStringFrom:@"\">" to:@"</"];
NSLog(@"%@",result);
}
// 這樣使用起來更方便,簡潔