iOS-截取字符串中兩個指定字符串中間的字符串

例如,要截取一個字符串中,兩個指定字符串中間的字符串,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);
}

// 這樣使用起來更方便,簡潔
發佈了55 篇原創文章 · 獲贊 17 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章