2010-10-20 41 views
2

我有以下的NSString:的NSString没有出现正常

NSString* searchURL = [NSString stringWithFormat:@"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22%@%22)%0A%09%09&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=",symbol]; 
    NSLog(@"URL IS: %@", searchURL); 

貌似%22不被包含在打印时:

URL IS: http://query.yahooapis.com/v1/public/yql?q=select220from2ahoo.finance.quotes2here    `º≠ymbol    [email protected]&format=json&env=http0X1.8CFB8P-1023-1.9907460.000000datatables.org-1.990746alltables.env&callback= 

我怎样才能确保% 22是否包含在我的字符串中?

回答

7

如果你想在格式字符串中使用的“%”符号“%%”

就像在printf的等。

阅读stringWithFormat的完整文档,以避免其他不良的惊喜......

2

%是格式字符串特殊字符。使用%%可以转义文字百分号。

0

%字符用于编码url形式中的空间。如果您想要请求任何使用stringByAddingPercentEscapesUsingEncoding编码的url:NSASCIIStringEncoding 。所以出现的%符号是空间的编码形式。因此通过清除这个基本的相应的实现