使用C#将PowerShell输出写入文本文件。文本文件中的输出如下所示:
Caption : USB Mass Storage Device
DeviceID : USB\VID_2188&PID_0754\000000000001
PNPDeviceID : USB\VID_2188&PID_0754\000000000001
Status : OK
Caption : USB Input Device
DeviceID : USB\VID_187C&PID_0528\16.0
PNPDeviceID : USB\VID_187C&PID_0528\16.0
Status : OK
Caption : USB Input Device
DeviceID : USB\VID_0BDA&PID_4042&MI_03\D&19A846&0&0003
PNPDeviceID : USB\VID_0BDA&PID_4042&MI_03\D&19A846&0&0003
Status : OK
Caption : USB Input Device
DeviceID : USB\VID_060B&PID_7A01&MI_03\D&10693F50&0&0003
PNPDeviceID : USB\VID_060B&PID_7A01&MI_03\D&10693F50&0&0003
Status : OK
Caption : USB Input Device
DeviceID : USB\VID_060B&PID_7A01&MI_02\D&10693F50&0&0002
PNPDeviceID : USB\VID_060B&PID_7A01&MI_02\D&10693F50&0&0002
Status : OK
我想在第二个反斜杠之后删除DeviceID和PNPDeviceID的所有内容,以便最终得到:
Caption : USB Mass Storage Device
DeviceID : USB\VID_2188&PID_0754\
PNPDeviceID : USB\VID_2188&PID_0754\
Status : OK
Caption : USB Input Device
DeviceID : USB\VID_187C&PID_0528\
PNPDeviceID : USB\VID_187C&PID_0528\
Status : OK
Caption : USB Input Device
DeviceID : USB\VID_0BDA&PID_4042&MI_03\
PNPDeviceID : USB\VID_0BDA&PID_4042&MI_03\
Status : OK
Caption : USB Input Device
DeviceID : USB\VID_060B&PID_7A01&MI_03\
PNPDeviceID : USB\VID_060B&PID_7A01&MI_03\
Status : OK
Caption : USB Input Device
DeviceID : USB\VID_060B&PID_7A01&MI_02\
PNPDeviceID : USB\VID_060B&PID_7A01&MI_02\
Status : OK
使用正则表达式似乎是最好的方法,但是我不知道如何实现所需的结果。我愿意接受其他建议和/或意见。预先感谢。
答案 0 :(得分:0)
docker run -it <image> /bin/bash
branches_with_orders= Branch.objects.filter(pickupstore__pickupdate__year=2006, pickupstore__pickupdate__month=1).annotate(num=Count('city'))
branches_without_orders = Branch.objects.exclude(pk__in=branches_with_orders).extra(select={'num': 0}).values('city','num')
all_branches = list(branches_without_orders) + list(branches_with_orders.values('city','num'))
print all_branches
>>> [{'city': u'A', 'num': 0}, {'city': u'B', 'num': 0}, {'city': u'C','num': 4}]
如果找不到查询值,则返回-1。
答案 1 :(得分:0)
/ [A-z0-9] + \\ / g将与此问题匹配
测试:USB \ VID_0BDA&PID_4042&MI_03 \ D&19A846&0&0003
结果:USB \ VID_0BDA&PID_4042&MI_03 \
答案 2 :(得分:0)
.(?<!\\)\\.(?<!\\)\\(?<After>.*)
是第二个反斜杠之后的任意gimme(双\以在正则表达式中转义-引号中的内部代码,根据语言,您可能必须使用四斜杠)