如何从NSString中删除空值

时间:2014-01-24 10:57:35

标签: ios iphone nsstring nsurl

如果特定密钥没有任何可用值,请告诉我该如何从网址中删除密钥。

对于前。

http://api.ean.com/ean-services/rs/hotel/v3/list?minorRev=18&apiKey=rcnge5sr7v4yebfmr2p44gpq&cid=451493&city=London&CurrencyCode=USD&cyCode=US&numberOfResults=50&numberOfAdults=1&numberOfChildren=0&searchRadius=50&supplierCacheTolerance=MED_ENHANCED&arrivalDate=01/24/2014&departureDate=01/25/2014&room1=1&room2=0&room3=0&room4=0&propertyCategory=&amenities=&minStarRating=&maxStarRating=&minRate=&maxRate=

我有这个网址如果没有任何值,我想用键删除值。

我想将此网址转换为

http://api.ean.com/ean-services/rs/hotel/v3/list?minorRev=18&apiKey=rcnge5sr7v4yebfmr2p44gpq&cid=451493&city=London&CurrencyCode=USD&cyCode=US&numberOfResults=50&numberOfAdults=1&numberOfChildren=0&searchRadius=50&supplierCacheTolerance=MED_ENHANCED&arrivalDate=01/24/2014&departureDate=01/25/2014&room1=1

因为rest参数为0或空白。

实现这一目标的最佳做法是什么。 我想要逐个应用条件,还是有任何其他智能方法。

2 个答案:

答案 0 :(得分:2)

采取一种方法并传递值并检查天气是否存在值,如果有那么附加它否则就这样离开

 for (NSString *key in parametersDictKeyValues) {
       [self addArgument:key argumentValue:[parametersDict objectForKey:key]];
}
-(void)addArgument:(NSString *)key argumentValue:(id)value {
    if(key != nil && value != nil) {
        baseUrlWithParameters = [baseUrlWithParameters stringByAppendingFormat:@"%@=%@&",key,value];
    }
}
  

最后删除最后一个&来自baseUrlWithParameters的符号

答案 1 :(得分:0)

一旦发布我的查询,我就有了实现这一目标的想法。

我用过

  

stringByAppendingString

仅包含那些非空的参数

如果没有任何值,则字符串不会附加它。

谢谢&此致