string与map格式互转
时间: 2024-10-15 22:18:09 浏览: 15
字符串与映射(Map)格式之间的转换,在不同的编程语言中有一些常见的操作。
1. 字符串转Map:
如果你想将键值对组成的字符串转换成Map,比如`"key1=value1,key2=value2"`这样的形式,可以按行解析,然后分割每一对键值。例如在Python中,你可以这样做:
```python
def str_to_dict(s):
pairs = s.split(',')
return {pair.split('=')[0]: pair.split('=')[1] for pair in pairs}
```
Java中则可以用类似`split()`函数的方式:
```java
Map<String, String> mapFromStr(String s) {
String[] keyValuePairs = s.split(",");
Map<String, String> map = new HashMap<>();
for (String pair : keyValuePairs) {
String[] parts = pair.split("=");
map.put(parts[0], parts[1]);
}
return map;
}
```
2. Map转字符串:
反向地,如果你想把Map转换成逗号分隔的字符串,可以遍历Map并构造新的字符串。例如:
```python
def dict_to_str(map):
return ','.join(f"{k}={v}" for k, v in map.items())
```
或者在Java中:
```java
String mapToStr(Map<String, String> map) {
StringBuilder sb = new StringBuilder();
for (Map.Entry<String, String> entry : map.entrySet()) {
sb.append(entry.getKey()).append('=').append(entry.getValue()).append(',');
}
// 移除最后一个逗号
if (!sb.toString().isEmpty()) {
sb.deleteCharAt(sb.length() - 1);
}
return sb.toString();
}
```
阅读全文