我有以下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 813020n22@20X1.000982B6P-1042009&format=json&env=http0X1.8CFB8P-1023-1.9907460.000000datatables.org-1.990746alltables.env&callback=
如何确保%22包含在我的字符串中?
答案 0 :(得分:7)
如果要在格式字符串中包含“%”符号,请使用“%%”
就像printf等人一样。
阅读stringWithFormat的完整文档,以避免其他不良意外......
答案 1 :(得分:2)
%
是格式字符串中的特殊字符。使用%%
来逃避字面百分号。
答案 2 :(得分:0)
%字符用于url格式中的编码空间。如果要请求任何url,则需要使用stringByAddingPercentEscapesUsingEncoding对其进行编码:NSASCIIStringEncoding 。因此,出现的%符号是空间的编码形式。因此,通过清除此基本
来实现