我有一个字符串:
http://feedproxy.google.com/~r/MakePartsFast/~3/1dZEOLADapg/
我想用这个字符串加载html页面。但由于字符串中的“/”,我得到的URL为null。
我的代码如下:
NSURL *ur=[NSURL URLWithString:Mystring];
NSLog(@"%@",ur); //getting null value
NSURLRequest *requestObj = [NSURLRequest requestWithURL:ur];
NSLog(@"%@",requestObj);
所以,如何从字符串中删除最后一个“/”
答案 0 :(得分:9)
你确定是因为上次'/'
吗?可能是因为中间的'~'
字符?
无论哪种方式,检查最后一个字符,只需执行
unichar last = [urlString characterAtIndex:urlString.length - 1];
if (last == '/')
urlString = [urlString substringToIndex:urlString.length - 1];
答案 1 :(得分:3)
试试这段代码......
NSString *Mystring = @"http://feedproxy.google.com/~r/MakePartsFast/~3/1dZEOLADapg/";
if ([Mystring isEqualToString:@""]||[Mystring isEqual:nil]) {
NSLog(@"\n\n String is NULL");
}
else {
NSString *TempURl = [Mystring substringToIndex:[Mystring length]-1];
NSString *urlstr =[TempURl stringByReplacingOccurrencesOfString:@" " withString:@""];
urlstr =[urlstr stringByReplacingOccurrencesOfString:@"\n" withString:@""];
urlstr =[urlstr stringByReplacingOccurrencesOfString:@"\t" withString:@""];
[urlstr retain];
NSURL *ur=[NSURL URLWithString:urlstr];
NSLog(@"%@",ur); //now get string value here
// NSURLRequest *requestObj = [NSURLRequest requestWithURL:ur];
//
// NSLog(@"%@",requestObj);
}
我已退出注册: http://feedproxy.google.com/~r/MakePartsFast/~3/1dZEOLADapg
希望这能帮到你......
答案 2 :(得分:1)
我认为您需要对字符串进行编码,如:
NSString *encodedString = [Mystring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
答案 3 :(得分:1)
如果您确定在每种情况下都需要从字符串中删除最后一个字符,那么您可以将newString作为
NSString *newString = [oldString substringToIndex:[oldString length]-1];
答案 4 :(得分:0)
试试这可能会对你有所帮助
NSString * Mystring=@"http://feedproxy.google.com/~r/MakePartsFast/~3/1dZEOLADapg/";
[alfa substringToIndex:alfa.length-1];