2009-10-12 1 views
7

Использование следующих не работает:Заменить «» символ в NSString с «» (чтобы создать путь Unix)

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

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

Есть ли способ удобства для этого? Аналогично:

- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding 

Мой код (только одна линия):

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

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

warning: unknown escape sequence: '\040' 
+0

Что вы подразумеваете под "не работает"? –

+0

Почему не -stringByReplacingOccurrencesOfString: withString: работать? –

+0

Я имею в виду, что это не замена, что так всегда –

ответ

15

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

+0

Спасибо. это было глупо, я демпинг в NSAppleScript, который также сбежал, и я полностью его пропустил. –

+0

Да, спасибо. Это именно то, что мне нужно. Мне нужно избавиться от пробелов в именах файлов. –

+0

О, получилось. Я думал, что у вас строка с разделителями пробелов, и вы хотите создать с ней имя пути. –

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