2013-06-03 4 views
0

У меня есть следующие NSString S:двойной обратный слэш в строке

"Test Folder\t4019-130603151520.png", 
"Test Folder\\Test sub\tNOICON" 

Я пытаюсь провести различие между ними на основе двойной обратной косой черты с этим немного кода, но это не собирание его:

if (![icon rangeOfString:@"\\"].location == NSNotFound) 
{ 
     NSLog(@"folder %@ contains \\", icon); 
} 

Может ли кто-нибудь указать, что мне не хватает? Благодарю.

ответ

3

Для проверки двойного использования обратной косой черты:

@"\\\\" 

Использование @"\\" будет смотреть только на один, потому что сам по себе обратный слэш является маскирующим, так что вам нужно Espace его.

+1

Глупый я - спасибо. Примут, как только SO разрешит. – Robert

+1

Возможно, вы также захотите рассмотреть Objective-C++ с исходными строковыми литералами C++ 11. Они не требуют дополнительной обратной косой черты. –

+0

@GregParker: Отмечено, спасибо. – Robert

1

Обратная косая черта - символ побега, поэтому вам нужно четыре из них: один, чтобы избежать каждой из двух обратных косых черт, которые вы хотите совместить.

Смежные вопросы