题目 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)); } } }()