Замените символ «» в строке NSString на «\» (чтобы создать путь Unix)

Использование следующего не работает:

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement

Под "не работает" я имею в виду не делает никакой замены, что так всегда. Он возвращает ту же самую точную строку.

Есть ли удобный способ сделать это? Похожий на:

- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

Мой код (всего одна строка):

NSString *escapedPath = [pathToBeConverted stringByReplacingOccurrencesOfString:@" " 
                                                                     withString:@"\ "];

Также предупреждение моего компилятора. Что, вероятно, имеет много общего с этим:

warning: unknown escape sequence: '\040'
12.10.2009 21:13:01
Что вы подразумеваете под "не работает"?
Mehrdad Afshari 12.10.2009 21:14:41
Почему -stringByReplacingOccurferencesOfString: withString: не работает?
Jim Puls 12.10.2009 21:16:17
Я имею в виду, что это не заменит то, что когда-либо
Corey Floyd 12.10.2009 21:16:21
Он должен работать. Покажите нам свой код.
Mehrdad Afshari 12.10.2009 21:17:35
код добавлен. (но только одна строка)
Corey Floyd 12.10.2009 21:22:09
1 ОТВЕТ
РЕШЕНИЕ

Вы должны использовать @"\\ "вместо @"\ ". В C \это escape-символ. Вы должны избежать этого с другим \.

15
12.10.2009 21:35:22
Спасибо. это было глупо, я добавлял NSAppleScript, который также был экранирован, и я полностью пропустил его.
Corey Floyd 12.10.2009 21:26:52
Да, спасибо. Это именно то, что мне нужно. Мне нужно избавиться от пробелов в именах файлов
Corey Floyd 12.10.2009 21:28:03
О, понял. Я думал, что у вас есть строка, разделенная пробелом, и вы хотите создать имя пути с ним.
Mehrdad Afshari 12.10.2009 21:29:16