我需要将一个 url?后面的参数 截取出来拼接到另一个 url 后面 如下:
u = "http://www.youtube.com/watch?v=xxxxxxxxxxxxxxxxxxx" u1 = 'http://www.google.com' URI::parse(u).query 这样可以 把 v=xxxxxxxxxxxxxxxxxxx 截取出来 问题是 我如何把截取出来的这块参数 拼接到另一个 url 上?不用拼字符串的方式··
如果是大量的 param, Objective C 有个 stringByAppendingQueryParameters: Hash . 可以直接拼接. Ruby 实现不知道有没有
NSDictionary *queryParams = [NSDictionary dictionaryWithObjectsAndKeys:
@"", @"taskName", stringFrom, @"from", stringTo, @"to", runStatus, @"runStatus", nil];
NSString *resPath = [@"/tasks" stringByAppendingQueryParameters:queryParams];
DLog(@"resource path: %@", resPath);
不拼字符串的方式:
u1 = URI.parse('www.google.com')
u1.query = URI.parse(u).query
u1.to_s
没什么意义...
有个转换查询串的方法,好像是叫 Rack::Utils.parse_query,转成哈希。哈希的 to_query 又能转换成查询串。
查询串的字段之间一般用&符号分隔,但也可以是别的,好像是半角分号也可以。所以自己转换的话,可能出现不兼容的情况。
手机上发的,手边没电脑,细节无法确认,所以上面说“好像”