html - 从 Swift 中的 html 字符串中删除空的 <p></p> 标签

标签 html ios regex swift

我正在尝试删除空的 <p></p>我的字符串中的标签,其内容是 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: "")

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

最佳答案

您可以使用以下代码片段删除所有空的 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

关于html - 从 Swift 中的 html 字符串中删除空的 <p></p> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31808615/

相关文章:

javascript - 使用 React JS 在所有段落中添加 SPAN 元素

css - 使用 Razor 和 css 在表格中添加元素符号点

ios - SKLabelNode labelNodeWithFontNamed:

regex - perl : how to split?

java - 如何替换字符串中的不同文本

php - 如何捕获无效的 preg_match 模式?

javascript - 使用knockout css绑定(bind)动态绑定(bind)多个类(类的名称将来自一些可观察的变量)

javascript - HTML/CSS/JavaScript - 模式不弹出/出现在其他东西后面?

ios - 详细信息披露按钮和披露指示器有什么区别?

iphone - 核心数据和线程/Grand Central Dispatch