0

我有以下价值观:

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})$ )

我怎样才能做到这一点...

谢谢

4

2 回答 2

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]);

这是你要求的吗?

于 2013-11-08T13:21:42.743 回答
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

于 2013-11-08T13:20:40.653 回答