检查文件名是否存在于Swift中的前缀

时间:2015-07-08 14:07:18

标签: swift nsfilemanager

我想在Swift中检查我的文件名是否只有前缀。

E.g

我的文件名与Companies_12344

相同

所以_值是动态的,但“Companies_”是静态的。

我该怎么做?

我的代码如下为拆分

 func splitFilename(str: String) -> (name: String, ext: String)? {
    if let rDotIdx = find(reverse(str), "_")
    {
        let dotIdx = advance(str.endIndex, -rDotIdx)
        let fname = str[str.startIndex..<advance(dotIdx, -1)]
        println("splitFilename >> Split File Name >>\(fname)")
    }


    return nil
}

1 个答案:

答案 0 :(得分:0)

目前还不是很清楚你想做什么,因为你的代码片段已经检查字符串是否有前缀。

但是有一种更简单的方法:

let fileName =  "Companies_12344"

if fileName.hasPrefix("Companies") {
    println("Yes, this one has 'Companies' as a prefix")
}

Swift的hasPrefix方法检查字符串是否以指定的字符串开始

此外,您可以使用以下方法轻松拆分字符串:

let compos = fileName.componentsSeparatedByString("_")   // ["Companies", "12344"]

然后你可以检查是否有代码并抓住它:

if let fileCode = compos.last {
    println("There was a code after the prefix: \(fileCode)")
}