[java]split()_⼀串字符串通过分割取key值和value值
有这么⼀串字符串:
String str ="key1--value1 key2--value2 key3--value3"
想要取到其中的key和value放到Map⾥,虽然可以这样:
Map<String,String> map =new HashMap<>();
hashMap.put("key1","value1");
hashMap.put("key2","value2");
hashMap.put("key3","value3");
可是如果有⼗⼏个、⼏⼗个、⼏百个这样的键值对,就很⿇烦了。⽼师虽然说可以⽤split(),不过也没具体演⽰,⾃⼰⿎捣暂时做出了效果,先码住⽅便以后查看吧。
//每个键值对之间的空格可能不⽌⼀个,分割的时候需要⽤"\\s+"
String str ="key1--value1 key2--value2 key3--value3"
Map<String,String> map =new HashMap<>();
String[] strArr = str.split("\\s+");
//分割以后只有每个键值对所在strArr数组的下标不⼀样,
//再次分割之后key和value总是key在0上value在1上
for(int i=0;i<strArr.length;i++){
String key = str.split("\\s+")[i].split("--")[0];
String value = str.split("\\s+")[i].split("--")[1];
map.put(key,value);
}
System.out.println(map);
如果分割出来的key或value是数字字符串,想要转成整数类型的话,可以⽤Integer.parseInt()进⾏转换,像这样:
int key = Integer.parseInt(arr.split("\\s+")[i].split("--")[0]);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论