题目 HJ4 字符串分隔
-
描述
输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
-
输入描述: 连续输入字符串(每个字符串长度小于等于100)
-
输出描述: 依次输出所有分割后的长度为8的新字符串
-
-
示例1
输入:abc 输出:abc00000
解题办法
-
解析
- 审题:需要截取字符串、少的补
0、输出最终结果 - 用
trim()去除首尾空格 line.length / 8代表总字符串以8个为长度分配,再* 8代表以8长度单位为准应该为多少的总目标长度- 用
Math.ceil(x)分配字符串8位,四舍五入 - 用
padEnd(targetLength)补充0,括号内的内容即上面第三点的部分表示要补充的目标长度 - 用
for循环遍历,i每次加8个为一个轮回 - 输出的是截取后加上
0的字符串了,用slice表明从第i个,往后选择8个
- 审题:需要截取字符串、少的补
-
代码展示
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void async function () { // 读取输入并处理 while (line = await readline()) { // 去除空格并补充 0 let str = line.trim().padEnd(Math.ceil(line.length / 8) * 8, '0'); // 截取长度为 8 的字符串并输出 for (let i = 0; i < str.length; i += 8) { console.log(str.slice(i, i + 8)); } } }()