【问题标题】:Extract vimeo video Id from vimeo url objective-c从 vimeo url objective-c 中提取 vimeo 视频 ID
【发布时间】:2016-11-10 19:47:48
【问题描述】:

我想从 vimeo url 中提取视频 id,任何人都可以帮助我使用 RegEx。

视频网址可以是类型

https://vimeo.com/173652088

这只是一个示例网址。 RegEx 应该适用于所有 vimeo url。

【问题讨论】:

  • 视频ID总是在最后吗?或者其他格式可以是什么?
  • 是的,视频 ID 总是在 url 的末尾。Ex-.com/videoId
  • 那么为什么要尝试 reg ex ,尝试简单替换出现的字符串

标签: ios objective-c vimeo


【解决方案1】:

请试试这个代码

NSString *yourStr = @"https://vimeo.com/173652088";
NSString *str = [yourStr stringByReplacingOccurrencesOfString: @"https://" withString:@""];

 NSArray *arryVedios =[str componentsSeparatedByString:@"/"] ;

NSString *id= [ arryVedios lastObject];
 NSLog(@"id= %@",id);

此代码适用于每个 url。但您的 id 必须在最后。

【讨论】:

    【解决方案2】:
    NSString *old  = @"https://vimeo.com/173652088";
    NSString *new = [old stringByReplacingOccurrencesOfString: @"https://vimeo.com/" withString:@""];
    NSLog(@"new= %@", new);
    
    NSString *newone = [[old componentsSeparatedByString:@"/"] lastObject];
     NSLog(@"newone= %@", newone);
    

    【讨论】:

    • 如果你的 url 是动态的,那就去正则表达式
    【解决方案3】:

    如果您确定它是一个 vimeo url,那么以下将起作用

    [^\/]+(?=\/$|$)
    

    在线测试器在这里 online regex tester

    你也可以从 Url 中提取 lastComponent

     NSURL* url = [NSURL URLWithString:@"https://vimeo.com/173031270"];
     NSLog(@video id: %@", url.lastPathComponent);
    

    请注意,如果您有类似“https://vimeo.com/173031270?a=1&b=2”的网址,此解决方案将失败

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      • 2015-03-01
      • 2012-03-22
      • 1970-01-01
      • 2012-05-16
      • 2011-04-08
      • 2012-05-15
      相关资源
      最近更新 更多