题解 | #参数解析#

参数解析

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)

全部评论

相关推荐

06-07 19:59
门头沟学院 C++
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务