Replace " " character in an NSString with "\ " (to create a Unix path)

cocoa, cocoa-touch, iphone, nsstring, objective-c

Solution

You should use `@"\\ "` instead of `@"\ "`. In C `\` is the escape character. You need to escape it with another `\`.

Problem

Using the following doesn't work: ``` - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement ``` By doesn't work I mean does not do any replacement what so ever. It returns the same exact string. Is there a convenience method to do this? Similar to: ``` - (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding ``` My code (just one line): ``` NSString *escapedPath = [pathToBeConverted stringByReplacingOccurrencesOfString:@" " withString:@"\ "]; ``` Also, my compiler warning. Which likely has much to do with this: ``` warning: unknown escape sequence: '\040' ```

Original source