我需要从NSString中删除所有的HTML格式,但当与字符串的内容相关时,我需要保留任何<(小于)符号。
例如:
<p>Dogs: For dogs <10KGs use 1:1000 solution (1000 µg/ml) diluted to 5-10 ml.</p>我要把这个读出来:
Dogs: For dogs <10KGs use 1:1000 solution (1000 µg/ml) diluted to 5-10 ml.到目前为止,常用的方法是使用类似于以下内容的内容:
NSRange r;
NSString *s = [[self copy] autorelease];
while ((r = [s rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
s = [s stringByReplacingCharactersInRange:r withString:@""];
return s;但这种方法的结果是:
狗:为狗
第一个HTML标记被正确地剥离,但是<10 but被认为是一个p>结束的HTML的开始,所以删除整个部分。
当<用于内容而不是标记时,我如何处理它?
发布于 2015-02-02 10:04:23
把你的代码改为,
NSRange r;
NSString *s = [[self copy] autorelease];
while ((r = [s rangeOfString:@"<[^<>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
s = [s stringByReplacingCharactersInRange:r withString:@""];
return s;这将去掉上面示例中的段落标记。[^<>]+匹配任何字符,但不匹配<或>,一次或多次。
https://stackoverflow.com/questions/28275083
复制相似问题