iOS Swift - 如何匹配“喜欢”另一个字符串的字符串?即“http”就像“http://”

问题描述 投票:3回答:2

我创建了一个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"

检查字符串是否与提供的前缀匹配但不一定相同的最佳方法是什么?

ios swift string substring string-comparison
2个回答
1
投票

从Swift编程语言指南,您可以使用hasPrefix方法。

例:

if userString.hasPrefix("http") {
    // do something with userString
}

资料来源:Swift Programming Language Guide


0
投票

好吧,想通了。不得不使用'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
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.