Java字符串转HashMap:将key=value形式的字符串转换为键值对
Java字符串转HashMap:将key=value形式的字符串转换为键值对
假设有一串字符串,以key='value'形式呈现,各内容项之间以逗号分隔,例如:
boardId='e01',sn='1',ip='192.168.76.2',netmask='255.255.255.255',productModel='E1',softwareVersion='1.0.0.1',hardwareVersion='2.0',fxsNumber='16',fxoNumber='16',e1Numbe='0',layout='layout',mac='aa:bb:cc:dd:ee:ff',supports=''
可以使用Java的HashMap来表示这串字符串,其中key为字符串中等号左边的部分,value为等号右边的部分。可以按照逗号分隔字符串,然后再按照等号分隔每个键值对。下面是一个示例代码:
import java.util.HashMap;
public class StringToMap {
public static void main(String[] args) {
String str = 'boardId='e01',sn='1',ip='192.168.76.2',netmask='255.255.255.255',productModel='E1',softwareVersion='1.0.0.1',hardwareVersion='2.0',fxsNumber='16',fxoNumber='16',e1Numbe='0',layout='layout',mac='aa:bb:cc:dd:ee:ff',supports=''';
HashMap<String, String> map = stringToMap(str);
System.out.println(map);
}
public static HashMap<String, String> stringToMap(String str) {
HashMap<String, String> map = new HashMap<>();
String[] pairs = str.split(',');
for (String pair : pairs) {
String[] keyValue = pair.split('=');
if (keyValue.length == 2) {
String key = keyValue[0].trim().replace(''', '');
String value = keyValue[1].trim().replace(''', '');
map.put(key, value);
}
}
return map;
}
}
运行以上代码,输出结果为:
{layout=layout, fxsNumber=16, mac=aa:bb:cc:dd:ee:ff, productModel=E1, sn=1, supports=, hardwareVersion=2.0, fxoNumber=16, netmask=255.255.255.255, softwareVersion=1.0.0.1, boardId=e01, ip=192.168.76.2, e1Numbe=0}
可以看到,字符串已经成功转换成了一个HashMap,其中每个键值对对应着原来字符串中的一个key-value形式。
代码解释:
- 使用
split(',')方法将字符串按照逗号分隔成多个键值对。 - 遍历每个键值对,使用
split('=')方法将键值对按照等号分隔成key和value。 - 使用
trim()方法去除key和value两端的空格,使用replace(''', '')方法去除key和value两端的单引号。 - 使用
put()方法将key和value添加到HashMap中。
总结:
本文提供了一种将以key='value'形式呈现的字符串转换为HashMap的Java代码示例。该方法使用字符串分割和循环遍历,并将每个键值对存储到HashMap中。
原文地址: https://www.cveoy.top/t/topic/pdM1 著作权归作者所有。请勿转载和采集!