xCode在使用NSURL时替换URL的一部分

时间:2014-08-17 14:57:15

标签: xcode5

我正在开发一个使用NSURL连接到网站的应用......

当app加载时,它从MySQL服务器查找记录并在找到记录时返回数据,这是有效的。它使用json将数据传回应用程序,这可行。

返回的数据构成了我想用来加载网络视图的网址的一部分。

我到目前为止的代码是:

NSString *RoomID = [NSString stringWithFormat:@"%d",roomid];

NSURL url = [NSURL URLWithString:@"http://example.com/apps/conf/lhr/location/devices/d1/template.php"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];

我想要的是替代

/location/devices/d1/template.php

/ location / devices / ... RoomID ... / template.php

在阅读了很多帖子之后我就无法锻炼如何做到这一点。任何帮助都会很棒。

此致

DCJ

1 个答案:

答案 0 :(得分:0)

NSString类有一些很好的方法可以替换其他字符串中的字符串。这是一个例子:

NSString *firstString = @"http://example.com/apps/conf/lhr/location/devices/d1/template.php";
NSString *roomID = @"d68";
NSString *newString = [firstString stringByReplacingOccurrencesOfString:@"d1" withString:roomID];
NSLog(@"%@", newString);

以上假设您将始终用新的roomID替换“d1”,并且您的URL在其他任何地方都不会包含“d1”(否则这些事件也会被替换)。

您也可以在字符串中添加斜杠,并在“d1”不够独特的情况下替换“/ d1 /”。结果是一样的:

NSString *firstString = @"http://example.com/apps/conf/lhr/location/devices/d1/template.php";
NSString *roomID = @"d68";
roomID = [NSString stringWithFormat:@"/%@/", roomID];
NSString *newString = [firstString stringByReplacingOccurrencesOfString:@"/d1/" withString:roomID];
NSLog(@"%@", newString);

您可以通过将事件替换为@“”(无)来删除字符串的一部分:

// removing something from a string
NSString *string = @"abcdefg";
string = [string stringByReplacingOccurrencesOfString:@"cde" withString:@""];
NSLog(@"%@", string);
// abfg

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html