從字串中取出使用者名稱密碼存入HashMap中
阿新 • • 發佈:2018-11-10
package com.hwadee.test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestGetHashMap {
//從字串中取出使用者名稱(001,002,003...)和密碼(A001,A002...)存入hashmap中
public static void main(String[] args) {
// TODO Auto-generated method stub
String s ="001,A001;002,A002;003,A003;004,A004;005,A005;" ;
String regex = "\\d{3},A\\d{3}";
String keyRegex = "\\d{3}";
String valueRegex = "A\\d{3}";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(s);
HashMap<String, String> hashMap = new HashMap<>();
String group = null;
int i = 0 ;
//將字串s中的值取出放入HashMap中
while(m.find()) {
i = i+1;
System.out.println("新增第"+i+"條資料");
group = m.group();
System.out.println(group);
Pattern p1 = Pattern.compile(keyRegex);
Matcher m1 = p1.matcher(group);
m1.find ();
Pattern p2 = Pattern.compile(valueRegex);
Matcher m2 = p2.matcher(group);
m2.find();
hashMap.put(m1.group(), m2.group());
}
//取出hashmap中的值
Set<String> keySet = hashMap.keySet();
Iterator<String> iterator = keySet.iterator();
while(iterator.hasNext()) {
String k = iterator.next();
System.out.println(hashMap.get(k));
}
}
}