1

我正在尝试获取某个文件的路径
,然后在 webview 中打开它。所以我需要用 '%20' 替换每个空格

NSString *test=@"filename";
NSString *finalPath12 = [test stringByAppendingString:@".pdf"];

NSString *path1 = [[NSBundle mainBundle] bundlePath];
NSString *finalPath1 = [path1 stringByAppendingPathComponent:finalPath12];

NSString *file =@"file://";
NSString *htmlfilename1 = [file stringByAppendingString:finalPath1];

NSString *pathtofile = [htmlfilename1 stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

除 @"%20" 之外的任何字符串都在工作。

这非常适用于示例:

NSString *pathtofile = [htmlfilename1 stringByReplacingOccurrencesOfString:@" " withString:@"string"];

但我需要@"%20"。我错过了什么?谢谢

4

2 回答 2

3

已经有[NSString stringByAddingPercentEscapesUsingEncoding:]参考)用于这个目的。

但是,在您的情况下,由于您需要一个 URL,您可以将问题中的所有行替换为:

NSURL *url = [[NSBundle mainBundle] urlForResource:@"filename" withExtension:@"pdf"];
于 2013-02-21T15:55:14.110 回答
1

你需要使用@"%%20".

因为第一个 % 被视为转义/野生字符。

或使用

stringByAddingPercentEscapesUsingEncoding:
于 2013-02-21T15:55:56.257 回答