我创建了一个URL验证函数,用于验证URL,因为用户将文本输入到文本字段中。
但是,为了节省性能和内存,我想忽略可能包含常见URL前缀的条目:
(i.e. http://, http://www, www, etc)
话虽如此,我希望能够“巧妙地”忽略可能与这些URL前缀之一匹配的文本:
["http://www", "https://www", "www"]
i.e. If a user has typed "htt", it should be ignored since it is a substring of "http://www" or "https://www"
检查字符串是否与提供的前缀匹配但不一定相同的最佳方法是什么?
从Swift编程语言指南,您可以使用hasPrefix方法。
例:
if userString.hasPrefix("http") {
// do something with userString
}
好吧,想通了。不得不使用'rangeOfString'函数并检查用户的文本是否在我的控制文本中。
码:
let prefixes = ["http://www.", "https://www.", "www."]
for prefix in prefixes
{
if ((prefix.rangeOfString(urlString!, options: NSStringCompareOptions.CaseInsensitiveSearch, range: nil, locale: nil)) != nil){
completion(success: false, urlString: nil, error: "Url String was prefix only")
return
}
}