我想在得到字符串123456789后显示类型为123 456789。我使用了如下所示的方法,但我认为这不是一个好方法,所以有人有更好的方法吗?
let num = '123456789'
let result = num.slice(0,3)+ ' '+num.slice(3,6)+ ' '+num.slice(6,9) // result = '123 456 789'
答案 0 :(得分:6)
您可以使用全局正则表达式和match
3位数字,然后用空格连接:
let num = '123456789';
const result = num
.match(/\d{3}/g)
.join(' ');
console.log(result);
或者,用.replace
并向前查找另一个数字:
let num = '123456789';
const result = num.replace(/\d{3}(?=\d)/g, '$& ');
console.log(result);
答案 1 :(得分:0)
您可以使用while循环和slice()
let str = '123456789';
function splitBy(str,num){
let result = '';
while(str.length > num){
result += str.slice(0,3) + ' ';
str = str.slice(3);
}
return result + str;
}
console.log(splitBy(str,3));
答案 2 :(得分:0)
您可以使用 Array.from()
根据提供的拆分长度返回一组块。然后使用join()
将它们串联起来
let num = '123456789'
function getChunks(string, n) {
const length = Math.ceil(string.length / n);
return Array.from({ length }, (_, i) => string.slice(i * n, (i + 1) * n))
}
console.log(getChunks(num, 3).join(' '))
console.log(getChunks(num, 4).join(' '))