【发布时间】:2019-05-07 18:25:19
【问题描述】:
我有 vimeo 网址
我只需要视频 ID。 但是,不知道如何在 swift 2.0 中使用正则表达式。
或任何其他安全的,即使 vimeo url 包含其他内容。
【问题讨论】:
我有 vimeo 网址
我只需要视频 ID。 但是,不知道如何在 swift 2.0 中使用正则表达式。
或任何其他安全的,即使 vimeo url 包含其他内容。
【问题讨论】:
鉴于您的 URL 定义,您可以使用它
NSRegularExpression(pattern: "([0-9]+)", options: [.CaseInsensitive])
并使用
获得第一场比赛firstMatchInString
【讨论】:
修复 JackTurky 的答案,更改正则表达式,您应该按如下方式使用它
NSRegularExpression(pattern: "(?<=video/)([a-z0-9]*))", options: [.CaseInsensitive])
并使用
获得第一场比赛firstMatchInString
如果您需要一些其他字符,例如 -,您只需在 9 之后添加它们
【讨论】:
要从 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)
} }
希望能有所帮助! :)
【讨论】: