从Swift中的html String中删除空<p> </p>标记

时间:2015-08-04 11:53:13

标签: html ios regex swift

我正在尝试从内容为html的字符串中删除空的let deleteRegex = NSRegularExpression(pattern: "<p[^>]*><\\/p[^>]*>", options: NSRegularExpressionOptions.allZeros, error: nil) deleteRegex?.stringByReplacingMatchesInString(comment.text!, options: NSMatchingOptions.allZeros, range: NSMakeRange(0, (comment.text! as NSString).length), withTemplate: "") 标记。我曾试图使用正则表达式,如;

{{1}}

但是我没有成功。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

您可以使用以下代码段删除所有空的p代码:

var string = "Text here<p class=\"myclass\"></p> and here<p></p>"
let str = string.stringByReplacingOccurrencesOfString("(?i)<p\\b[^<]*>\\s*</p>", withString: "", options: .RegularExpressionSearch, range: nil)
print(str)

您无需转义/,但字边界会确保您将p标记与整个字匹配。 [^<]*将匹配任意属性。 \\s*将匹配打开和关闭p标记之间的可选空格。

这是regex demo

答案 1 :(得分:1)

请使用此模式删除 p标签:

"(?i)<p[^>]*>"