-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