首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从NSString中删除HTML,但保留数学符号

从NSString中删除HTML,但保留数学符号
EN

Stack Overflow用户
提问于 2015-02-02 10:01:11
回答 1查看 86关注 0票数 0

我需要从NSString中删除所有的HTML格式,但当与字符串的内容相关时,我需要保留任何<(小于)符号。

例如:

代码语言:javascript
复制
<p>Dogs:  For dogs <10KGs use 1:1000 solution (1000 µg/ml) diluted to 5-10 ml.</p>

我要把这个读出来:

代码语言:javascript
复制
Dogs:  For dogs <10KGs use 1:1000 solution (1000 µg/ml) diluted to 5-10 ml.

到目前为止,常用的方法是使用类似于以下内容的内容:

代码语言:javascript
复制
  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的开始,所以删除整个部分。

当<用于内容而不是标记时,我如何处理它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-02 10:04:23

把你的代码改为,

代码语言:javascript
复制
NSRange r;
NSString *s = [[self copy] autorelease];
while ((r = [s rangeOfString:@"<[^<>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
s = [s stringByReplacingCharactersInRange:r withString:@""];
return s;

演示

这将去掉上面示例中的段落标记。[^<>]+匹配任何字符,但不匹配<>,一次或多次。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28275083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档