题解 | #参数解析#

参数解析

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]);

    }

全部评论

相关推荐

点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着接:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-23 16:31
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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