【问题标题】:How to Check given string is in HTML format or not in swift如何快速检查给定的字符串是否为 HTML 格式
【发布时间】:2021-06-13 02:54:02
【问题描述】:
在一种情况下,我需要检查 api 响应是 HTML 格式还是 JSON 格式。首先,我将数据转换为字符串并检查它是否为 HTML 格式?是否有任何正则表达式可用于检查字符串是否为 html 字符串?或者还有其他方法吗?。
【问题讨论】:
-
检查第一个非空白字符是否为< => HTML => JSON。除了该 API 响应之外,通常还会发送标头,详细说明响应是什么:Content-Type
标签:
ios
swift
objective-c
regex
swift5
【解决方案1】:
检查字符串是否为 HTML 字符串:
func isValidHtmlString(_ value: String) -> Bool {
if value.isEmpty {
return false
}
return (value.range(of: "<(\"[^\"]*\"|'[^']*'|[^'\">])*>", options: .regularExpression) != nil)
}
let testString = "<p> test html string </p>"
print("\(isValidateHtmlString(testString))")
参考:https://www.geeksforgeeks.org/how-to-validate-html-tag-using-regular-expression/
检查字符串是否为 JSON 字符串:
let jsonString = "{}"
if JSONSerialization.isValidJSONObject(jsonString.data(using: .utf8)!) {
print("valid")
} else {
print("invalid")
}