Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在Java for Android中,将这个字符串分解为键/值字符串的最简单方法是什么?_Java_Android_For Loop_Iterator_Key Value - Fatal编程技术网

什么';在Java for Android中,将这个字符串分解为键/值字符串的最简单方法是什么?

什么';在Java for Android中,将这个字符串分解为键/值字符串的最简单方法是什么?,java,android,for-loop,iterator,key-value,Java,Android,For Loop,Iterator,Key Value,这是我的字符串: &username=john&password=12345&email=john@go.com 将其分解为键/值字符串以便将其作为参数添加的最佳和最有效的方法是什么。以下是我需要的模拟示例: for (set in array) { params.add(new BasicNameValuePair(set.key, set.value)); } 您可以为此目的使用(或)。您可以为此目的使用(或)。执行以下操作: String all = "&

这是我的
字符串

&username=john&password=12345&email=john@go.com
将其分解为键/值字符串以便将其作为参数添加的最佳和最有效的方法是什么。以下是我需要的模拟示例:

for (set in array)
{
   params.add(new BasicNameValuePair(set.key, set.value));
}
您可以为此目的使用(或)。

您可以为此目的使用(或)。

执行以下操作:

String all = "&username=john&password=12345&email=john@go.com";
//Split across all instances of the 'and' symbol
String[] keyValueConcat = all.split("&");
Map<String, String> kvPairs = new HashMap<String, String>();
for (String concat : keyValueConcat) {
    if (concat.contains("=") {
        //For any string in the split that contains an equals sign
        //Split over the equals sign and add to the map
        String[] keyValueSplit = concat.split("=", 2);
        kvPairs.put(keyValueSplit[0], keyValueSplit[1];
    }
}
String all=“&username=john&password=12345&email=john@go.com";
//拆分“和”符号的所有实例
字符串[]keyValueConcat=all.split(“&”);
Map kvPairs=newhashmap();
用于(字符串concat:keyValueConcat){
if(concat.contains(“=”){
//对于拆分中包含等号的任何字符串
//在等号上拆分并添加到地图
字符串[]keyValueSplit=concat.split(“=”,2);
kvPairs.put(keyValueSplit[0],keyValueSplit[1];
}
}
映射对应该包含您需要的内容。

执行以下操作:

String all = "&username=john&password=12345&email=john@go.com";
//Split across all instances of the 'and' symbol
String[] keyValueConcat = all.split("&");
Map<String, String> kvPairs = new HashMap<String, String>();
for (String concat : keyValueConcat) {
    if (concat.contains("=") {
        //For any string in the split that contains an equals sign
        //Split over the equals sign and add to the map
        String[] keyValueSplit = concat.split("=", 2);
        kvPairs.put(keyValueSplit[0], keyValueSplit[1];
    }
}
String all=“&username=john&password=12345&email=john@go.com";
//拆分“和”符号的所有实例
字符串[]keyValueConcat=all.split(“&”);
Map kvPairs=newhashmap();
用于(字符串concat:keyValueConcat){
if(concat.contains(“=”){
//对于拆分中包含等号的任何字符串
//在等号上拆分并添加到地图
字符串[]keyValueSplit=concat.split(“=”,2);
kvPairs.put(keyValueSplit[0],keyValueSplit[1];
}
}
地图对应该包含您需要的内容。

请参见以下问题:

在Android上,Apache库提供了一个查询解析器:

请看这个问题:

在Android上,Apache库提供了一个查询解析器:

String exp=“&username=john&password=12345&email=john@go.com"
字符串[]对=exp.split(&);
字符串[]温度;
Map myMap=newhashmap();
对于(i=0;i
String exp=“&username=john&password=12345&email=john@go.com"
字符串[]对=exp.split(&);
字符串[]温度;
Map myMap=newhashmap();

对于(i=0;i不确定它是否在java for android中可用,但在java 8中,可以使用以下方法将字符串分解为键值对:

String string = "&username=john&password=12345&email=john@go.com";
Map<String, String> map= Stream.of(string.split("&")).map(p->p.split("=")).filter(p->p!=null && p.length==2).collect(Collectors.toMap(p->p[0], p->p[1]));
String=“&username=john&password=12345&email=john@go.com";
Map Map=Stream.of(string.split(&)).Map(p->p.split(=”).filter(p->p!=null&&p.length==2).collect(Collectors.toMap(p->p[0],p->p[1]);

不确定是否在java for android中可用,但在java 8中,可以使用以下方法将字符串分解为键值对:

String string = "&username=john&password=12345&email=john@go.com";
Map<String, String> map= Stream.of(string.split("&")).map(p->p.split("=")).filter(p->p!=null && p.length==2).collect(Collectors.toMap(p->p[0], p->p[1]));
String=“&username=john&password=12345&email=john@go.com";
Map Map=Stream.of(string.split(&)).Map(p->p.split(=”).filter(p->p!=null&&p.length==2).collect(Collectors.toMap(p->p[0],p->p[1]);

这些字符串从何而来?它们实际上是查询字符串的一部分吗?如果是,您应该使用能够理解查询字符串的内容(执行所有适当的取消跳过等操作)。它看起来可疑地像一个查询字符串。是的,它是来自第三方来源的查询字符串。有什么特殊的方法来分解这些字符串吗?这些字符串从哪里来?它们实际上是查询字符串的一部分吗?如果是,你应该使用理解查询字符串的东西(执行所有适当的取消跳过等)。它看起来像一个可疑的查询字符串。是的,它是来自第三方来源的查询字符串。有什么特殊的方法来分解它们吗?