1

我想用其他一些组件替换 myurl 中的一些组件,但它不起作用..

这是我的代码片段:

NSString *Url =@"http://www.myData.com/pageId=aaa&pageSize=bbb&page=2"

在上面的网址中,我想aaastr1bbb替换str2..

    [Url stringByReplacingOccurrencesOfString:@"aaa" withString:str1];
    [Url stringByReplacingOccurrencesOfString:@"bbb" withString:str2];

    NSLog(@"Final Url = %@",Url);

最后,当我看到我的日志时,Final Url不会aaa用..str1bbbstr2

谢谢阅读...

4

3 回答 3

13

一些字符串函数采用就地替换,但其他字符串函数返回一个替换的。

完整代码如下:

NSString *Url = @"http://www.myData.com/pageId=aaa&pageSize=bbb&page=2";
Url = [Url stringByReplacingOccurrencesOfString:@"aaa" withString:str1];
Url = [Url stringByReplacingOccurrencesOfString:@"bbb" withString:str2];

NSLog(@"Final Url = %@",Url);
于 2013-03-04T07:21:38.310 回答
13

该方法stringByReplacingOccurrencesOfString:withString:返回NSString,您需要存储该方法。

您只是转储返回的值并期望更改调用者。

您需要使用:

Url=[Url stringByReplacingOccurrencesOfString:@"aaa" 
                                   withString:str1];
Url=[Url stringByReplacingOccurrencesOfString:@"bbb" 
                                   withString:str2];
于 2013-03-04T07:23:38.767 回答
2

使用下面的代码,它在我的最后工作得很好。我已经测试过了。

NSString *Url =@"http://www.myData.com/pageId=aaa&pageSize=bbb&page=2";
    NSString *str1 = @"str1";
    NSString *str2 = @"str2";

    Url = [Url stringByReplacingOccurrencesOfString:@"aaa" withString:str1];
    Url = [Url stringByReplacingOccurrencesOfString:@"bbb" withString:str2];

    NSLog(@"Final Url = %@",Url);

输出将是:最终网址 = http://www.myData.com/pageId=str1&pageSize=str2&page=2

祝一切顺利 !!!

于 2013-03-04T07:30:04.113 回答