题解 | #参数解析#
参数解析
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)
