0

这是我的问题:

我正在尝试从 NSString 对象中过滤掉 html 标签。

对此的大多数修复只是删除了介于 < 和 > 之间的所有内容,以及这些字符本身。我试图找出一种方法来删除“< ... >”子字符串,前提是它不包含空格或换行符。

我想这样做的方式看起来像这样

while ([source rangeOfString@"someRegEx" options:NSRegularExpressionSearch].location != NSNotFound) {

//find the range of the substring
//check for newlines/whitespace characters
//replace occurrences of the string with "" if it doesn't have them

}

首先,这似乎是一个好方法吗?其次,我在弄清楚该正则表达式的样子时遇到了很多问题……有人知道它可能是什么样子吗?

4

2 回答 2

0

正如 m.buettner 指出的那样,这似乎是一种很好的方法,只要您要查找的标签真的从不包含 whitespace 。正则表达式看起来像这样:

<[^\s]*?>

[^\s]是一个否定字符类,它匹配除空白字符以外的任何字符。?使人变得*懒惰而不是贪婪。所以这个正则表达式在英文中的意思是“匹配一个'<',然后是尽可能少的非空白字符,然后是一个'>'”。

这是一个有用的页面

于 2012-11-28T23:20:09.740 回答
0

也许您应该考虑使用NSXMLParser, 描述here

您将获得一组相当丰富的委托方法来从字符串中提取您喜欢的任何内容。

于 2012-11-28T23:20:58.420 回答