题解 | #参数解析#

参数解析

http://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677

拿到题目,第一考虑就是将输入字串按空格拆分,但是双引号中的空格又不能拆分,那么是否可以考虑将双引号中的空格替换为其他字符后再拆分,拆分完成后再将被替换的空格恢复? 答案并不严谨,以通过用例为目的......

while True:
    try:
        s = input()
        new_s = ''  # 定义新字符串
        flag = False  # 设置标志,当遇到引号时标志改变
        for i in s:
            if i == '"':  # 遇到引号,标志改变
                flag = not flag 
            if flag:  # 已经遇到引号,说明此时i必然在引号内
                if i == ' ':  # 当i为空格时,此处将空格替换为'0'
                    i = '0'
                    new_s += i
                else:
                    new_s += i
            else:
                new_s += i
        lst = new_s.split(' ')  # 将新的字符串用空格分割
        print(len(lst))
        for i in lst:
            print(i.replace('0', ' ').replace('"', ''))  # 将被替换为0的空格复原,注意输出中参数不带引号
    except:
        break
        
                
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:52
点赞 评论 收藏
分享
10-24 13:36
门头沟学院 Java
Zzzzoooo:更新:今天下午有hr联系我去不去客户端,拒了
点赞 评论 收藏
分享
预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
评论
14
1
分享
牛客网
牛客企业服务