-1
我从我的Web服务接收授权字符串,代表Guid(C#)。如何使用Swift将字符串转换为guid?或者,我如何验证结果,事实上,它是一个Guid?快速检查字符串的guid值
var str1:String = "5810744d-49f7-4edc-aefb-ecd1ebf9e59b"
var str2:String = "Some text"
我如何定义 - 是字符串包含guid?
我从我的Web服务接收授权字符串,代表Guid(C#)。如何使用Swift将字符串转换为guid?或者,我如何验证结果,事实上,它是一个Guid?快速检查字符串的guid值
var str1:String = "5810744d-49f7-4edc-aefb-ecd1ebf9e59b"
var str2:String = "Some text"
我如何定义 - 是字符串包含guid?
可以使用NSPredicate
用正则表达式来看看一个字符串是否是正确的格式:
var str1:String = "(5810744d-49f7-4edc-aefb-ecd1ebf9e59b)"
var str2:String = "Some text"
let guidPred = NSPredicate(format: "SELF MATCHES %@", "((\\{|\\()?[0-9a-f]{8}-?([0-9a-f]{4}-?){3}[0-9a-f]{12}(\\}|\\))?)|(\\{(0x[0-9a-f]+,){3}\\{(0x[0-9a-f]+,){7}0x[0-9a-f]+\\}\\})")
// Prints "str1 IS a GUID"
if guidPred.evaluateWithObject(str1) {
println("str1 IS a GUID")
} else {
println("str1 is NOT a GUID")
}
// Prints "str2 is NOT a GUID"
if guidPred.evaluateWithObject(str2) {
println("str2 IS a GUID")
} else {
println("str2 is NOT a GUID")
}
此正则表达式将匹配任何对MSDN列出的四种格式。为了保持它(相对)简单,表达式将匹配一些格式不正确的字符串(例如,如果您要删除一个连字符,但不是所有其他字符:5810744d49f7-4edc-aefb-ecd1ebf9e59b
),但会过滤掉常规文本。
向我们显示一些代码? – Shai