题解 | #字符串分隔#
字符串分隔
http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
- 字符串补0:补多少个?
- 字符串按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);
}
}
有一说一,上面这种方法实在太蠢了。。。。广场上有很简便的方法,真的妙啊
- 不管差多少个0,都给它补8个0
- 按下标输出每个子串(每个子串都是8个字符)
while(strInput=readline()){
let str = strInput.concat('00000000');
for(let i=8; i<str.length; i+=8){
print(str.substring(i-8,i));
}
}