獲取鏈接中各個(gè)參數(shù)值
//獲取鏈接中各個(gè)參數(shù)值
- (NSDictionary *)getParamsWithUrlString:(NSString *)urlString
{
if (urlString.length == 0) {
NSLog(@"鏈接為空!");
return @{};
}
//先截取問(wèn)號(hào)
NSArray * allElements = [urlString componentsSeparatedByString:@"?"];
NSMutableDictionary * params = [NSMutableDictionary dictionary];
if (allElements.count == 2) {
//有參數(shù)或者?后面為空
NSString * paramString = allElements[1];
//獲取參數(shù)對(duì)
NSArray * paramsArray = [paramString componentsSeparatedByString:@"&"];
if (paramsArray.count >= 2) {
for (NSInteger i = 0; i<paramsArray.count; i++) {
NSString * singleParamString = paramsArray[i];
NSArray * singleParamSet = [singleParamString componentsSeparatedByString:@"="];
if (singleParamSet.count == 2) {
NSString * key = singleParamSet[0];
NSString * value = singleParamSet[1];
if (key.length > 0 || value.length > 0) {
[params setObject:value.length > 0 ? value:@"" forKey:key.length > 0 ? key:@""];
}
}
}
}else if (paramsArray.count == 1){ //無(wú)& url只有?后一個(gè)參數(shù)
NSString * singleParamString = paramsArray[0];
NSArray * singleParamSet = [singleParamString componentsSeparatedByString:@"="];
if (singleParamSet.count == 2) {
NSString * key = singleParamSet[0];
NSString * value = singleParamSet[1];
if (key.length > 0 || value.length > 0) {
[params setObject:value.length > 0 ? value:@"" forKey:key.length > 0 ? key:@""];
}
}else{
//問(wèn)號(hào)后面什么都沒(méi)有 xxxx? 無(wú)需處理
}
}
//整合url及參數(shù)
return [params copy];
}else if (allElements.count > 2){
NSLog(@"鏈接不合法!鏈接包含多個(gè)?");
return @{};
}else{
NSLog(@"鏈接不包含參數(shù)!");
return @{};
}
}
使用:
NSString * url = @"https://www.aaa.com/?key1=value1&key2=value2";
NSDictionary * dic = [self getParamsWithUrlString:url];
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。