我正在使用来自API的网址,其中搜索字词被引号括起来。例如:
http://www.example.com/searchterm="search"
。
但是,由于引号,我的NSURL(由URLWithString生成)由于URL无效而为零。有没有解决的办法?谢谢!
答案 0 :(得分:2)
您可以在引号前面加一个反斜杠,或者在URL编码值 %22
:
http://www.example.com/searchterm=\"search\"
http://www.example.com/searchterm=%22search%22
或者您可以在将其用作NSURL之前删除引号。
NSString * searchUrl = @"http://www.example.com/searchterm=\"search\"";
searchUrl =
[searchUrl stringByReplacingOccurrencesOfString:@"\"" withString:@""]; // something to this effect, not tested.
然后你可以进行正常的NSURL呼叫:
[NSURL URLWithString: searchUrl];
答案 1 :(得分:0)
尝试以下方法:
#define SAFARI_SEARCH_URL_FORMAT @"http://search/search?q=\"%@\""
mySearchBar.text =@"hello";
NSString * tempstr = [NSString stringWithFormat:SAFARI_SEARCH_URL_FORMAT, mySearchBar.text];
NSURL *an1Url = [[[NSURL alloc] initWithString:[tempstr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
] autorelease];
NSLog(@"--(%@)--",an1Url);
an1Url
不会是零