如何使用未知字符搜索数组 - Swift 3 for Mac

How to search array using unknown characters - Swift 3 for Mac

我正在寻找一种方法来搜索字符串数组(包含带扩展名的文件名)中的点(如果字符串包含字符 - 点字符,则打印字符串定义)。为此,我必须使用通配符 (.).

之类的东西

所以我尝试了这个:

let testString = "*.*"
if Array[x].countains(testString)
{
print (Array[x])
} 

if Array[x].range(of:testString) != nil
{
print (Array[x])
}

但是不行。我想我必须以不同的方式声明它,但我不知道如何做,也没有找到正确的例子。 有人可以举一些例子吗?谢谢你

String 上使用此 辅助方法:

extension String {
    func contains(regex: NSRegularExpression) -> Bool {
        let length = self.utf16.count // NSRanges are UTF-16 based!
        let wholeString = NSRange(location: 0, length: length)
        let matchCount = regex.numberOfMatches(in: self, range: wholeString)            
        return matchCount > 0
    }
}

然后试试这个:

let fileNameWithExtension = try! NSRegularExpression(pattern: "\w+[.]\w+")
if Array[x].contains(regex: fileNameWithExtension) {
    print(Array[x])
}

您可能需要调整上面的 模式 以匹配您想到的所有情况。 NSRegularExpression cheat sheet 可能对你有帮助 ;-)