将字符串解析成一对一格式
时间: 2023-09-10 18:05:08 浏览: 30
可以使用正则表达式来解析字符串并将其转化为键值对的形式,Python示例代码如下:
```python
import re
s = '[projectId:33] [projectName:test告警] [owner:xietianyou] [processId:8651] [processDefinitionCode:9714443682144] [processName:test预警-1-20230529100216202] [taskCode:9714435038048] [taskName:test] [taskType:SHELL] [taskState:FAILURE] [taskStartTime:2023-05-29 10:01:35] [taskEndTime:2023-05-29 10:01:35] [taskHost:10.12.9.81:1234] [logPath:/data/dolphinscheduler/logs/9714443682144_1/8651/60354.log]'
# 定义正则表达式
pattern = r'\[(\w+):([^\[\]]+)\]'
# 使用正则表达式解析字符串
result = dict(re.findall(pattern, s))
# 输出解析结果
print(result)
```
输出结果如下:
```
{'projectId': '33', 'projectName': 'test告警', 'owner': 'xietianyou', 'processId': '8651', 'processDefinitionCode': '9714443682144', 'processName': 'test预警-1-20230529100216202', 'taskCode': '9714435038048', 'taskName': 'test', 'taskType': 'SHELL', 'taskState': 'FAILURE', 'taskStartTime': '2023-05-29 10:01:35', 'taskEndTime': '2023-05-29 10:01:35', 'taskHost': '10.12.9.81:1234', 'logPath': '/data/dolphinscheduler/logs/9714443682144_1/8651/60354.log'}
```
可以看到,解析结果是一个字典,其中键为原字符串中的键名,值为原字符串中的键值。