字符串分割

描述

•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:

连续输入字符串(每个字符串长度小于等于100)

输出描述:

依次输出所有分割后的长度为8的新字符串

示例1

输入:

abc

输出:

abc00000


题解:

  let str = 'abc';

//首先判断字符串长度是否大于8,如果小于8的话,对其进行+0的操作

  if (str.length < 8) {

    str = sliceStr(str);

  } else {

//字符串大于8,判断有几个8,然后对其循环裁剪拼接

    let num = parseInt(str.length / 8);

    let arr = "";

    for (let j = 0; j < num; j++) {

      arr += str.slice(j * 8, (j + 1) * 8);

    }

//取出其最后小于8的字符,重复上面小于8的操作

    let last = str.slice(num * 8, str.length);

    str = arr + sliceStr(last);

  }

  console.log(str);

//对小于8的字符进行操作拼接

  function sliceStr(str) {

    let length = 8 - str.length;

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

      str += "0";

    }

    return str;

  }

第二个简便思路

let overNumber=line.length % 8;//line 代表原始字符串

    // 原字符串长度是否为8的倍数,如果是,那就正常每隔8个字符取一次,如果不是倍数,那看余数和8相差多少

    // 缺几个,就拼接几个0到原字符后面,还是形成一个长度为8的倍数的字符串,

    // 直接用+或+=来拼接字符串,来替代 concat()拼接

   let str=overNumber===0?line : line+newString('0').repeat(8-overNumber);

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

        console.log(str.slice(i,i+=8))

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容