Mô tả bài toán
Cho chuỗi đại diện cho số, thay thế các số 0 ở đầu (leading zeros) bằng khoảng trắng, giữ lại khoảng trắng đã có.
Ví dụ minh họa
const str = ' 004590808';
const replaceWithSpace = str => {
let replaced = '';
const regex = new RegExp(/^\s*0+/);
replaced = str.replace(regex, el => {
const { length } = el;
return ' '.repeat(length);
});
return replaced;
};
console.log(replaceWithSpace(str));
Kết quả
4590808
Phân tích regex
/^\s*0+/ khớp: đầu chuỗi (^), 0 hoặc nhiều khoảng trắng (\s*), 1 hoặc nhiều số 0 (0+).
Cách đơn giản hơn
Nếu chỉ muốn loại bỏ leading zeros (không giữ khoảng trắng):
const removeLeadingZeros = str => str.replace(/^0+/, '');
Lưu ý
Ví dụ gốc có ghi "Replace the leading zero with spaces" nhưng output lại không có khoảng trắng - có thể là yêu cầu in ra console (trim tự động).