Swift instr或strpos等效

时间:2014-10-11 18:56:53

标签: swift strpos

我已经搜索过并搜索过但无法找到Swift中的instr或strpos等价物。只需要查看字符串是否包含字符串。我怎么能在Swift中做到这一点?

2 个答案:

答案 0 :(得分:1)

这是 Swift 中String的有用扩展。这两个函数都像众所周知的PHP函数一样工作。只需将此代码粘贴到项目的任何.swift文件中:

import Foundation
extension String {
    func strpos(needle:String)->Int{
        //Returns the index of the first occurrence of a substring in a string, or -1 if absent
        if let range = self.rangeOfString(needle) {
            return startIndex.distanceTo(range.startIndex)
        } else {
            return -1
        }

    }
    func instr(needle:String)->Bool{
        return self.containsString(needle)
    }
}

用法,在您的项目中的任何其他地方

let myString = "Hello, world"
print(myString.strpos("world")) //->prints "7"
print(myString.strpos("Dolly")) //->prints "-1"
print(myString.strpos(",")) //->prints "5"

答案 1 :(得分:0)

使用rangOfString()

if string.rangeOfString("mySubstring") != nil
{
    println("string contains substring")
}