Parse Query String
Parse a URL query string into key/value pairs — needed when handling deep links and navigation parameters in an app.
Sample input
name=john&age=30&city=delhi
Sample output
name: john
age: 30
city: delhi
Solution
query = "name=john&age=30&city=delhi"
for pair in query.split("&"):
key, value = pair.split("=")
print(f"{key}: {value}")
const query = "name=john&age=30&city=delhi";
for (const pair of query.split("&")) {
const [key, value] = pair.split("=");
console.log(`${key}: ${value}`);
}
public class Main {
public static void main(String[] args) {
String query = "name=john&age=30&city=delhi";
for (String pair : query.split("&")) {
String[] kv = pair.split("=");
System.out.println(kv[0] + ": " + kv[1]);
}
}
}
fun main() {
val query = "name=john&age=30&city=delhi"
for (pair in query.split("&")) {
val (key, value) = pair.split("=")
println("$key: $value")
}
}
let query = "name=john&age=30&city=delhi"
for pair in query.split(separator: "&") {
let kv = pair.split(separator: "=")
print("\(kv[0]): \(kv[1])")
}
void main() {
const query = "name=john&age=30&city=delhi";
for (final pair in query.split('&')) {
final kv = pair.split('=');
print('${kv[0]}: ${kv[1]}');
}
}
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main() {
string query = "name=john&age=30&city=delhi";
stringstream ss(query);
string pair;
while (getline(ss, pair, '&')) {
int eq = pair.find('=');
cout << pair.substr(0, eq) << ": " << pair.substr(eq + 1) << endl;
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main() {
char query[] = "name=john&age=30&city=delhi";
char *pair = strtok(query, "&");
while (pair != NULL) {
char *eq = strchr(pair, '=');
*eq = '\0';
printf("%s: %s\n", pair, eq + 1);
pair = strtok(NULL, "&");
}
return 0;
}