Javascript 按空格分组将数字字符串分隔为4(不太容易实现)
我有一个数字串,例如123456789 我想把他们四个人分成一组,这样就成了Javascript 按空格分组将数字字符串分隔为4(不太容易实现),javascript,string-split,Javascript,String Split,我有一个数字串,例如123456789 我想把他们四个人分成一组,这样就成了123456789 我试过了 string.match(/.{1, 4}/g).join(' '); 但它只给出了12345678 9 我也试着先把它倒过来 string.split('').reverse().join('').match(/.{1,4}/g).join(' ') 但它给出的是154329876 有什么提示吗?可能有更好的方法,但这似乎有效: string.split('').reverse().j
123456789
我试过了
string.match(/.{1, 4}/g).join(' ');
但它只给出了12345678 9
我也试着先把它倒过来
string.split('').reverse().join('').match(/.{1,4}/g).join(' ')
但它给出的是154329876
有什么提示吗?可能有更好的方法,但这似乎有效:
string.split('').reverse().join('').match(/.{1,4}/g).join(' ').split('').reverse().join('')
使用for循环的替代方法:
var s = "123456789";
var n = 4;
for (var i = s.length - n; i > 0; i -= n)
s = s.substr(0, i) + " " + s.substring(i);
// Now s == "1 2345 6789"
在Beigi的评论之后,我确实有另一个使用while循环的答案:
var text = '123456789';
var result = '';
var split = text.split('');
var start = 0;
var end = text.length % 4;
while (end <= isLoading.length) {
result += split.slice(start, end).join('') + ' ';
start = end;
end += 4;
}
var text='123456789';
var结果=“”;
var split=text.split(“”);
var start=0;
var end=text.length%4;
虽然(结束可能重复的string.match(/.{1,4}(?=(?:.{4})*$)/g)
应该可以,但相当难看。请尝试使用.slice
进行循环。@Bergi非常感谢,它工作得很好!