用"\"替换NSString中的""字符(以创建Unix路径)

Cor*_*oyd 7 iphone cocoa cocoa-touch objective-c nsstring

使用以下内容不起作用:

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
Run Code Online (Sandbox Code Playgroud)

通过不起作用我的意思是不做任何替代,所以永远.它返回完全相同的字符串.

有没有方便的方法来做到这一点?相近:

- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
Run Code Online (Sandbox Code Playgroud)

我的代码(只有一行):

NSString *escapedPath = [pathToBeConverted stringByReplacingOccurrencesOfString:@" " 
                                                                     withString:@"\ "];
Run Code Online (Sandbox Code Playgroud)

另外,我的编译器警告.这可能与此有很大关系:

warning: unknown escape sequence: '\040'
Run Code Online (Sandbox Code Playgroud)

Meh*_*ari 15

你应该使用@"\\ "而不是@"\ ".在C中\是转义字符.你需要与另一个逃避它\.