String Swift是否有一种方法可以在另一个字符串中给出子字符串的索引
是否有任何现有函数在另一个字符串中查找子字符串的索引?类似于String Swift是否有一种方法可以在另一个字符串中给出子字符串的索引,string,macos,swift,swift-extensions,String,Macos,Swift,Swift Extensions,是否有任何现有函数在另一个字符串中查找子字符串的索引?类似于.indexOfSubstringthank的方法可执行以下操作: let word: String = "Hey there, how are you?" let indexOf: Int = word.indexOfSubstring("ere, how are") println("index = " + \(indexOf)) 和打印: index = 6 您可以使用rangeOfString方法: import Fou
.indexOfSubstring
thank的方法可执行以下操作:
let word: String = "Hey there, how are you?"
let indexOf: Int = word.indexOfSubstring("ere, how are")
println("index = " + \(indexOf))
和打印:
index = 6
您可以使用
rangeOfString
方法:
import Foundation
let word: String = "Hey there, how are you?"
if let range = word.rangeOfString("ere, how are") {
let index = distance(word.startIndex, range.startIndex)
println("index = \(index)")
}
它返回一个范围,即搜索字符串的两侧-只需使用startIndex
属性即可
请注意,这是从
NSString
借用的方法。您可以使用rangeOfString
方法:
import Foundation
let word: String = "Hey there, how are you?"
if let range = word.rangeOfString("ere, how are") {
let index = distance(word.startIndex, range.startIndex)
println("index = \(index)")
}
它返回一个范围,即搜索字符串的两侧-只需使用startIndex
属性即可
请注意,这是从
NSString
借用的方法。您可以使用rangeOfString
方法:
import Foundation
let word: String = "Hey there, how are you?"
if let range = word.rangeOfString("ere, how are") {
let index = distance(word.startIndex, range.startIndex)
println("index = \(index)")
}
它返回一个范围,即搜索字符串的两侧-只需使用startIndex
属性即可
请注意,这是从
NSString
借用的方法。您可以使用rangeOfString
方法:
import Foundation
let word: String = "Hey there, how are you?"
if let range = word.rangeOfString("ere, how are") {
let index = distance(word.startIndex, range.startIndex)
println("index = \(index)")
}
它返回一个范围,即搜索字符串的两侧-只需使用startIndex
属性即可
请注意,这是从NSString借用的方法,Swift中没有内置方法。您需要自己实现它。这方面的另一个实现是
/// Get the start index of string
///
/// :return start index of .None if not found
public func indexOf(str: String) -> Int? {
return self.indexOfRegex(Regex.escapeStr(str))
}
/// Get the start index of regex pattern
///
/// :return start index of .None if not found
public func indexOfRegex(pattern: String) -> Int? {
if let range = Regex(pattern).rangeOfFirstMatch(self).toRange() {
return range.startIndex
}
return .None
}
这段代码来自这个库,该库对常见的swift类型(如String)具有一系列扩展
您可以根据使用情况签出文档
Swift中没有内置方法。您需要自己实现它。这方面的另一个实现是
/// Get the start index of string
///
/// :return start index of .None if not found
public func indexOf(str: String) -> Int? {
return self.indexOfRegex(Regex.escapeStr(str))
}
/// Get the start index of regex pattern
///
/// :return start index of .None if not found
public func indexOfRegex(pattern: String) -> Int? {
if let range = Regex(pattern).rangeOfFirstMatch(self).toRange() {
return range.startIndex
}
return .None
}
这段代码来自这个库,该库对常见的swift类型(如String)具有一系列扩展
您可以根据使用情况签出文档
Swift中没有内置方法。您需要自己实现它。这方面的另一个实现是
/// Get the start index of string
///
/// :return start index of .None if not found
public func indexOf(str: String) -> Int? {
return self.indexOfRegex(Regex.escapeStr(str))
}
/// Get the start index of regex pattern
///
/// :return start index of .None if not found
public func indexOfRegex(pattern: String) -> Int? {
if let range = Regex(pattern).rangeOfFirstMatch(self).toRange() {
return range.startIndex
}
return .None
}
这段代码来自这个库,该库对常见的swift类型(如String)具有一系列扩展
您可以根据使用情况签出文档
Swift中没有内置方法。您需要自己实现它。这方面的另一个实现是
/// Get the start index of string
///
/// :return start index of .None if not found
public func indexOf(str: String) -> Int? {
return self.indexOfRegex(Regex.escapeStr(str))
}
/// Get the start index of regex pattern
///
/// :return start index of .None if not found
public func indexOfRegex(pattern: String) -> Int? {
if let range = Regex(pattern).rangeOfFirstMatch(self).toRange() {
return range.startIndex
}
return .None
}
这段代码来自这个库,该库对常见的swift类型(如String)具有一系列扩展
您可以根据使用情况签出文档
为什么它抱怨“String”没有名为“rangeOfString”的成员?对于memaybe来说,它应该是
range
,而不是ranger
,除非你的评论中有打字错误:)sry是打字错误,我把你的代码复制到了游乐场。但是仍然有这个错误你导入Cocoa了吗?注意range.startIndex
是字符串.Index
而不是Int
。我建议如果let range=word.rangeOfString(“…”{let index=distance(word.startIndex,range.startIndex);println(“index=\(index)”)}
。为什么它抱怨“String”没有名为“rangeOfString”的成员?对于memaybe来说,它应该是range
,而不是ranger
,除非你的评论中有打字错误:)sry是打字错误,我把你的代码复制到了游乐场。但是仍然有这个错误你导入Cocoa了吗?注意range.startIndex
是字符串.Index
而不是Int
。我建议如果let range=word.rangeOfString(“…”{let index=distance(word.startIndex,range.startIndex);println(“index=\(index)”)}
。为什么它抱怨“String”没有名为“rangeOfString”的成员?对于memaybe来说,它应该是range
,而不是ranger
,除非你的评论中有打字错误:)sry是打字错误,我把你的代码复制到了游乐场。但是仍然有这个错误你导入Cocoa了吗?注意range.startIndex
是字符串.Index
而不是Int
。我建议如果let range=word.rangeOfString(“…”{let index=distance(word.startIndex,range.startIndex);println(“index=\(index)”)}
。为什么它抱怨“String”没有名为“rangeOfString”的成员?对于memaybe来说,它应该是range
,而不是ranger
,除非你的评论中有打字错误:)sry是打字错误,我把你的代码复制到了游乐场。但是仍然有这个错误你导入Cocoa了吗?注意range.startIndex
是字符串.Index
而不是Int
。我建议如果let range=word.rangeOfString(“…”{let index=distance(word.startIndex,range.startIndex);println(“index=\(index)”)}
。或多或少是的副本这个问题是关于寻找一个字符的,但答案也适用于寻找字符串。或多或少是重复的这个问题是关于寻找一个字符的,但答案也适用于寻找字符串。或多或少是重复的这个问题是关于寻找一个字符的,但答案也适用于寻找字符串。或多或少是重复的这个问题是关于查找字符的,但答案也适用于查找字符串。