" + " 我需要删除
gpt4 book ai didi

ios - 在 XML 字符串中用 null 替换 html 标签

转载 作者:可可西里 更新时间:2023-11-01 01:01:41 31 4
gpt4 key购买 nike

我想替换 <![CDATA[带有 null 的 xml 字符串中的标记,但我不知道如何在 swift 2.0 中使用正则表达式查找或获取此标记

我的 xml 字符串是这样的:

let xmlvar = "<description>" +
"<![CDATA[<img data-toggle='tooltip' src='uploads/posts/thumbnails/92-9-6-khatami-5-52-on.jpg' alt='123'/><span>123</span>]]>" +
"</description>

我需要删除 <![CDATA[这是结束部分 ]]来自 xmlvar

更新:

如何对来自 rss 提要的 xml 数据使用正则表达式?我正面临 xml is not convertible to NSString错误

这是我的代码:

let url = NSURL(string: "http://razavitv.aqr.ir/index/rss/2") 
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
let xml = SWXMLHash.parse(data!)
let processedString = (xml as NSString).stringByReplacingOccurrencesOfString("<![CDATA[", withString: "").stringByReplacingOccurrencesOfString("]]", withString: "") as String
let appName = xml["rss"]["channel"]["item"][0]["title"].element!.text!
let appUrl = xml["rss"]["channel"]["item"][0]["description"]["img"].element!.attributes["src"]
let ap = Apps(name: appName , img : appUrl)
self.tableData.append(ap)
self.tableView.reloadData()
}
task.resume()

有什么建议吗?

最佳答案

您可以使用 NSStringstringByReplacingOccurrencesOfString 功能:

let processedString = (xmlvar as NSString).stringByReplacingOccurrencesOfString("<![CDATA[", withString: "").stringByReplacingOccurrencesOfString("]]", withString: "") as String

您转换为 NSString,应用两个替换,然后返回到 String

或者你可以使用正则表达式:

// we know for sure the regex is a valid string, thus the forced try, otherwise forced stuff is not recommended
let regex = try! NSRegularExpression(pattern: "\\<\\!\\[CDATA\\[|\\]\\]", options: NSRegularExpressionOptions.CaseInsensitive)
let len = xmlvar.lengthOfBytesUsingEncoding(NSStringEncoding(NSUTF8StringEncoding))
let processedString = regex.stringByReplacingMatchesInString(xmlvar, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, len), withTemplate: "")
print(processedString)

关于ios - 在 XML 字符串中用 null 替换 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34588833/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com