题解 | #字符串分隔#

字符串分隔

http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7

  1. 字符串补0:补多少个?
  2. 字符串按8个字符一组进行分割:把分割完的每组字符拼接成一个字符串,把每个字符串作为一个数组元素进行保存
while( strInput = readline() ){
    // 补多少个0,如果strInput.length是8的倍数,则不补0
    let zeroNum = (strInput.length%8==0 ? 0 : 8-strInput.length%8);
    for(let i=0; i<zeroNum; i++){
        strInput = strInput.concat(0);	//str1.concat(str2...),会拼接到字符串str1
    }

    let arr = [];
    // 划分为多少组,补完0之后的strInput.length一定是8的整数倍
    let size = strInput.length/8;
    for(let i=0; i<size; i++){
        // 每一组有哪些字符
        arr[i] = '';
        for(let j=i*8; j<(i+1)*8; j++){
            arr[i] = arr[i] + strInput[j];
        }
    }
    for(let v of arr){
        print(v);
    }
    
}

有一说一,上面这种方法实在太蠢了。。。。广场上有很简便的方法,真的妙啊

  1. 不管差多少个0,都给它补8个0
  2. 按下标输出每个子串(每个子串都是8个字符)
while(strInput=readline()){
	let str = strInput.concat('00000000');
	for(let i=8; i<str.length; i+=8){
		print(str.substring(i-8,i));
	}
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务