从Iphone SDK中的字符串中删除最后一个“/”

时间:2012-12-20 13:17:18

标签: iphone objective-c ios xcode nsstring

我有一个字符串:

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);

所以,如何从字符串中删除最后一个“/”

5 个答案:

答案 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];