使用 JavaScript 从后面每 3 个字符拆分字符串

新手上路,请多包涵

我们如何使用 JavaScript 从后面每 3 个字符拆分一个字符串?

说,我有这个:

 str = 9139328238

在所需的功能之后,它将变为:

 parts = ['9','139','328','238']

我们如何优雅地做到这一点?

原文由 sanchitkhanna26 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 355
1 个回答
var myString = String( 9139328238 );
console.log( myString.split( /(?=(?:...)*$)/ ) );
// ["9", "139", "328", "238"]

我无法做出任何性能保证。对于较小的字符串应该没问题。

这是一个循环实现:

 function funkyStringSplit( s )
{
    var i = s.length % 3;
    var parts = i ? [ s.substr( 0, i ) ] : [];
    for( ; i < s.length ; i += 3 )
    {
        parts.push( s.substr( i, 3 ) );
    }
    return parts;
}

原文由 Alex 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题