【问题标题】:Swift 3: String search backwardsSwift 3:向后搜索字符串
【发布时间】:2017-01-31 00:41:53
【问题描述】:

我想在一个字符串中向后搜索。但是我发现的所有示例都没有在当前的 Swift 3.0 上运行。 “.BackwardsSearch”在我的 XCode 8 上不是可用的选项。任何想法,如何做到这一点? 示例:

let rPos = rIndex(sourceString, searchString)

let rPos = sourceString.rindex(of: searchString)

【问题讨论】:

  • static var backwards: NSString.CompareOptionsfunc range(of aString: String, options mask: String.CompareOptions = default, range searchRange: Range<String.Index>? = default, locale: Locale? = default) -> Range<String.Index>??

标签: swift string indexing reverse


【解决方案1】:

XCode 自动完成会提示这个:

let rpos = sourceString.range(of:searchString, options:String.CompareOptions.backwards, range:nil, locale:nil)

但是,range 和 locale 的默认值为 nil,因此您可以省略它们:

let rpos = sourceString.range(of:searchString, options:String.CompareOptions.backwards)

options 属于String.CompareOptions 类型,所以您只需要最后一部分:

let rpos = sourceString.range(of:searchString, options:.backwards)

(感谢@MartinR 指出缩短的版本)

【讨论】:

  • 或者只是sourceString.range(of: searchString, options: .backwards)
  • 谢谢!也拿这个。
猜你喜欢
  • 1970-01-01
  • 2018-11-24
  • 2015-12-25
  • 2017-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多