2014-10-11 60 views
2

我已经搜索和搜索,但无法看到找到什么等价于斯威夫特的instr或strpos。只需要看看一个字符串是否包含一个字符串。我如何在Swift中做到这一点?Swift instr或strpos相当于

回答

0

使用rangOfString()

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

这里是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"