题解 | #参数解析#
参数解析
https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677
# 我在这里剑走偏锋,用python的re正则,非常简单的解决了问题; # 首先是正则把 “ ” 内容 放进一个list中备用,并把原str 中 “ ” 内容用一个 已用的标记占住。 # 再用空格切分str 为 list ,遍历此 list,遇到 占位标记 就从 备用list 中取值填过来即可。 # 这可能是 最简单的 算法了,借助正则化跳过了 复杂的算法。 import re a = input() pattern = r'".*?"' change_a = re.sub(r'".*?"','used',a) temp_list = re.findall(pattern,a) # 虽然在过程中 转义字符\ 会显示变 \\,但是后面输出会自动复原!!! # print(temp_list) # 会显示 ['"c:\\\\"', '"d:\\\\e"'] 没关系,输出temp_list.pop(0)[1:-1] 会自动复原。 a = change_a.split(' ') print(len(a)) for i in a: if i=='used': print(temp_list.pop(0)[1:-1]) else: print(i)