Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 删除斜杠前的字符串,目标C_Objective C_Regex_Cocoa - Fatal编程技术网

Objective c 删除斜杠前的字符串,目标C

Objective c 删除斜杠前的字符串,目标C,objective-c,regex,cocoa,Objective C,Regex,Cocoa,我需要字符串中正则表达式的帮助: /folder1/folder2/folder3/folder4/folder5/folder6/folder7/ololo/ImageName.png 我需要匹配: ololo/ImageName.png 如何在Objective-C中实现这一点?以匹配字符串 NSPredicate *predicate = nil; predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES 'ololo/Imag

我需要字符串中正则表达式的帮助:

/folder1/folder2/folder3/folder4/folder5/folder6/folder7/ololo/ImageName.png

我需要匹配:

ololo/ImageName.png

如何在Objective-C中实现这一点?

以匹配字符串

NSPredicate *predicate = nil;
predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES 'ololo/ImageName.png'"];
if (![predicate evaluateWithObject:@"/folder1/folder2/folder3/folder4/folder5/folder6/folder7/ololo/ImageName.png"]) 
{
// do your work here.. 
}

你可以用这个来配刺-

if ([@"/folder1/folder2/folder3/folder4/folder5/folder6/folder7/ololo/ImageName.png" rangeOfString:@"ololo/ImageName.png"].location != NSNotFound) 
{
   //true
   // do your work here
}

下面是使用正则表达式的方法:

NSString *path = @"quick/brown/fox/jumps.png";
NSError *error;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^/]+[/][^/]+$" options:0 error:&error];
NSRange rangeOfMatch = [regex rangeOfFirstMatchInString:path options:0 range:NSMakeRange(0, path.length)];
NSLog(@"From %d, length %d", (int)rangeOfMatch.location, (int)rangeOfMatch.length);

此代码查找
fox/jumps.png

读取NSString规范,尤其是函数列表底部关于路径操作的内容。为什么要使用正则表达式呢?如果按照问题标题进行操作,那么它应该匹配
ImageName.png
而不是
ololo/ImageName.png
-请您更清楚地解释所需的输出?它需要是正则表达式吗?有一个简单的非正则表达式解决方案。Alex Coplan-我在使用路径,不使用我不知道的图像名文件夹名,我知道3个姓氏文件夹名,此代码返回“From 12,length 13”,但需要NSString@Sergey您需要使用
[path substringWithRange:rangeOfMatch]
获取字符串。谢谢大家,我的想象力起了作用:)。我使用了[path substringWithRange:rangeOfMatch]