我有以下数值:
1. nickname=Antony###account=4587569854256
2. nickname=^(?![ ])(?=.*[\w]).{1,70}(?<!\s)$###account=^([0-9]{3,20})$
我可以拆分这些字符串但是如何将它们作为键和值对映射?
就像是
一样`1.` valueMap(nickname=Antony,account=4587569854256) and
`2.` regExMap(nickname==^(?![ ])(?=.*[\w]).{1,70}(?<!\s)$,account==^([0-9]{3,20})$ )
我该怎么做......
由于
答案 0 :(得分:0)
非常感谢你的所有评论,
这就是我如何做到的,希望人们喜欢能比这更好的
import java.util.HashMap;
import java.util.Map;
public class SplitStrings {
public static void main(String[] args) {
String value = "nickname=Antony###account=4587569854256";
String[] arrValue = value.split("###");
Map<String,String> valueMap= new HashMap<String, String>();
for (String string : arrValue) {
String[] mapPair =string.split("=");
valueMap.put(mapPair[0], mapPair[1]);
}
}
}
感谢joni
答案 1 :(得分:0)
由于你有一个'###'分隔符来拆分字符串,那么你想要做的只是构造一个HashMap并迭代映射它们?
像:
HashMap<String,String> hm = new HashMap<String,String>();
yourString = "nickname=Antony###account=4587569854256";
String[] value = string.split("###");
String[] keyValue = value[0].split("=");
String[] keyValue1 = value[1].split("=");
hm.put(keyValue[0],keyValue[1]);
hm.put(keyValue1[0],keyValue1[1]);
这就是你要求的吗?