web-dev-qa-db-fra.com

Comment puis-je vérifier que la chaîne NSString se termine par un certain caractère (.jpg)?

J'ai un objet NSString qui lui est affecté (" http://vspimages.vsp.virginia.gov/images/024937-02.jpg "). Quelqu'un peut-il me dire comment vérifier si la chaîne se termine par ".jpg"?

56
RAMAN RANA
if ([[yourString pathExtension] isEqualToString:@"jpg"]){
   //.jpg
}

ou

if ([yourString hasSuffix:@".jpg"]){
   //.jpg
}
133
Vladimir

en annexe à la réponse de vladimir, vous souhaiterez peut-être faire une comparaison insensible à la casse. Voici comment je l'ai fait:

if( [[yourString pathExtension] caseInsensitiveCompare:@"jpg"] == NSOrderedSame ) {
  // strings are equal but may not be same case
}
6
ThinkBonobo
NSPredicate *fltr = [NSPredicate predicateWithFormat:@"self ENDSWITH '.png' AND self BEGINSWITH[c] %@",@"img_"];
if([fltr evaluateWithObject:strPath])
{
    // string matched....
}
2
Atif Mahmood