题解 | #参数解析#

参数解析

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)

全部评论

相关推荐

11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
10-28 15:45
门头沟学院 C++
西南山:海康威视之前不是大规模裁员吗
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务