题解 | #参数解析#

参数解析

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

 while ((line = await readline())) {

        for (let i = 0; i < line.length; i++) {

            if (/"/.test(line[i])) {//若遇到双引号则执行一下函数

                x = !x;

                if (x) arr.push(line.slice(a + 1, i)), (i += 1), (a = i + 1);//i要加1以跳过引号之后的空格,避免重复添加元素

            } else if (/\s/.test(line[i]) && x) {//没遇到引号则正常根据空格分隔元素

                arr.push(line.slice(a, i));

                a = i + 1;//此时的i为空格的索引,a需要加1避免空格被加入元素中

            } else {

                if (i == line.length - 1) arr.push(line.slice(a, i + 1));//如果以上两种情况都不满足则意味着到了句末,i需要加1以选到句末的字符

            }

        }

    }

    console.log(arr.length);

    for (let i = 0; i < arr.length; i++) {

        console.log(arr[i]);

    }

全部评论

相关推荐

努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务