【问题标题】:Regex to get vimeo video id in swift 2正则表达式在 swift 2 中获取 vimeo 视频 ID
【发布时间】:2019-05-07 18:25:19
【问题描述】:

我有 vimeo 网址

https://vimeo.com/video/17314292

我只需要视频 ID。 但是,不知道如何在 swift 2.0 中使用正则表达式。

或任何其他安全的,即使 vimeo url 包含其他内容。

【问题讨论】:

    标签: ios regex swift


    【解决方案1】:

    鉴于您的 URL 定义,您可以使用它

    NSRegularExpression(pattern: "([0-9]+)", options: [.CaseInsensitive])
    

    并使用

    获得第一场比赛
    firstMatchInString
    

    【讨论】:

    • url 我从可能以其他形式出现的服务器获取。喜欢它可能包含一些字母
    【解决方案2】:

    修复 JackTurky 的答案,更改正则表达式,您应该按如下方式使用它

    NSRegularExpression(pattern: "(?<=video/)([a-z0-9]*))", options: [.CaseInsensitive])
    

    并使用

    获得第一场比赛
    firstMatchInString
    

    如果您需要一些其他字符,例如 -,您只需在 9 之后添加它们

    【讨论】:

      【解决方案3】:

      要从 Vimeo 视频链接获取视频 ID,请使用 Swift4 代码:

      if yourLink.lowercased().contains("vimeo.com") {
                  videoId = yourLink.vimeoID ?? ""
       }
      

      其中,.vimeoID 是在“String”扩展名中定义的:

      extension String {
      
      // Vimeo VideoID from Link(url)
      
      var vimeoID: String? {
          let pattern = "([0-9]+)"
      
          let regex = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
          let range = NSRange(location: 0, length: count)
      
          guard let result = regex?.firstMatch(in: self, range: range) else {
              return nil
          }
      
          return (self as NSString).substring(with: result.range)
      } }
      

      希望能有所帮助! :)

      【讨论】:

        猜你喜欢
        • 2011-04-08
        • 2018-02-25
        • 2012-03-22
        • 2011-06-27
        • 1970-01-01
        • 2013-06-13
        • 2023-03-17
        • 2013-02-24
        • 2015-07-23
        相关资源
        最近更新 更多