例如,要截取一个字符串中,两个指定字符串中间的字符串,OC截取方法如下:
// 要截取 "> 和 </ 之间的汉字内容:
@implementationViewController
- (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"
@implementationNSString (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"
@interfaceViewController ()
@end@implementationViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSString *string = @"<a href="http">这是要截取的内容</a>";
NSString *result = [string subStringFrom:@"">" to:@"</"];
NSLog(@"%@",result);
}