Ios 从vimeo url objective-c中提取vimeo视频Id

Ios 从vimeo url objective-c中提取vimeo视频Id,ios,objective-c,vimeo,Ios,Objective C,Vimeo,我想从vimeo url中提取视频id,任何人都可以帮我使用正则表达式 视频url可以是以下类型: https://vimeo.com/173652088 这只是一个示例url。正则表达式应该适用于所有vimeo URL NSString *old = @"https://vimeo.com/173652088"; NSString *new = [old stringByReplacingOccurrencesOfString: @"https://vimeo.com/" withStri

我想从vimeo url中提取视频id,任何人都可以帮我使用正则表达式

视频url可以是以下类型:

https://vimeo.com/173652088
这只是一个示例url。正则表达式应该适用于所有vimeo URL

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);

如果您确定它是一个vimeo url,那么下面的方法就行了

[^\/]+(?=\/$|$)
在线测试

您还可以从Url中提取lastComponent

 NSURL* url = [NSURL URLWithString:@"https://vimeo.com/173031270"];
 NSLog(@video id: %@", url.lastPathComponent);
请注意,如果您有类似“”的url,此解决方案将失败。请尝试以下代码

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必须位于最后。

视频id是否始终位于末尾?或者其他格式可以是什么?是的,视频Id总是在url.Ex-.com/videoID的末尾,那么为什么要尝试reg Ex,尝试简单替换字符串如果您的url是动态的,那么选择regex