题解 | #参数解析#

参数解析

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-30 10:16
南京大学 Java
永远的鹅孝子:给南大✌️跪了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务