iOS的OC处理字符串切割

1>诸如 (lldb) po bannerModel.linkUrl
sourceId=1641&type=course  除了字符串切割  还有办法取出来sourceId的值和type的值吗?

+ (NSDictionary *)getQueryStringPara:(NSString *)queryStr {
    if (queryStr.length <= 0) {
        return nil;
    }
    queryStr = [self URLDecodedString:queryStr];
    NSArray <NSString *> *para = [queryStr componentsSeparatedByString:@"&"];
    NSMutableDictionary *dict_M = [NSMutableDictionary dictionary];
    for (NSString * com in para) {
        NSArray <NSString *> *arr = [com componentsSeparatedByString:@"="];
        [dict_M setObject:arr[1] forKey:arr[0]];
    }
    return dict_M.copy;
}

+ (NSString *)URLDecodedString:(NSString *)str
{
    NSString *decodedString=(__bridge_transfer NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL, (__bridge CFStringRef)str, CFSTR(""), CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));
    
    return decodedString;
}

如果是完整的url 可以考虑//            NSURLComponents *urlComponents = [NSURLComponents componentsWithString:readerScanResult];
//                 NSArray *items = urlComponents.queryItems;
//                 NSString *examID = nil;
//                 for (NSURLQueryItem *item in items) {
//                     if ([item.name isEqual:@"id"]) {
//                         examID = item.value;
//                     }
//                 }

打印urlComponents  根据各个参数取值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值