我想在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
}
答案 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)")
}