我需要幫助的正則表達式中的字符串:刪除字符串,目標C
/folder1/folder2/folder3/folder4/folder5/folder6/folder7/ololo/ImageName.png
我需要匹配:
ololo/ImageName.png
如何d你在Objective-C中做到了嗎?
我需要幫助的正則表達式中的字符串:刪除字符串,目標C
/folder1/folder2/folder3/folder4/folder5/folder6/folder7/ololo/ImageName.png
我需要匹配:
ololo/ImageName.png
如何d你在Objective-C中做到了嗎?
這裏是你如何使用正則表達式做到這一點:
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
謝謝,此代碼返回「從12,長度13」,但需要NSString – Sergey 2011-12-23 14:15:19
@Sergey你需要使用'[path substringWithRange:rangeOfMatch]'來獲得你的字符串。 – dasblinkenlight 2011-12-23 14:24:19
謝謝大家,我的想象力幫助了:)。我用[path substringWithRange:rangeOfMatch] – Sergey 2011-12-24 04:28:06
匹配字符串。
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..
}
文件夾名稱,我不知道,我知道3姓文件夾 – Sergey 2011-12-23 13:35:13
你可以用這場比賽的刺痛 -
if ([@"/folder1/folder2/folder3/folder4/folder5/folder6/folder7/ololo/ImageName.png" rangeOfString:@"ololo/ImageName.png"].location != NSNotFound)
{
//true
// do your work here
}
閱讀的NSString規範特別是關於路徑操作的函數列表底部附近的東西。 – 2011-12-23 13:28:48
爲什麼你會使用正則表達式呢? – 2011-12-23 13:29:01
好吧,如果你按照你的問題標題,那麼它應該匹配'ImageName.png'而不是'ololo/ImageName.png' - 請你能解釋所需的輸出更清晰嗎? – 2011-12-23 13:29:03