2015-12-23 27 views
0

我有以下字符串:目標C - 擺脫一切之間<em>和</em>

@"Hello there, this is <em> a string. </em> Here's another scenario with tags, for example, <em> this </em>." 

我需要<em></em>標籤,包括標籤之間GED擺脫一切的,所以結果應該是這個:

@"Hello there, this is Here's another scenario with tags, for example, ." 

如何用正則表達式來完成這件事?

+0

我有一些想法。但首先,這個文本是動態的還是靜態的? – Tander

+0

每次我從fool.com中提取文章時,每篇文章的html中總是會顯示不同類型的免責聲明,這與我的用戶想要查看的內容無關。 – Rafi

+0

我知道如何在沒有正則表達式的情況下做到這一點。讓我想辦法如何做到這一點,應該很有趣。 – Tander

回答

3

使用以下方法:

- (NSString *)stringByStrippingEMTag:(NSString *)str { 
    NSRange r; 
    NSString *s = [str copy]; 
    while ((r = [s rangeOfString:@"<em[^>]*>(.*?)</em>" options:NSRegularExpressionSearch]).location != NSNotFound) { 
     s = [s stringByReplacingCharactersInRange:r withString:@""]; 
    } 
    return s; 
} 
+0

正打算建議剝離HTML。但是,我確實看到了OP正在試圖剝離的文本的原始示例,並且HTML會刪除他想要的一些信息。 – Tander

+0

我要求將標籤與它們之間的所有內容一起移除。 – Rafi

+0

它工作!非常感謝。正則表達式的語法對我來說很難理解:) – Rafi