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

san*_*a26 3 javascript string split character

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

说,我有这个:

str = 9139328238
Run Code Online (Sandbox Code Playgroud)

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

parts = ['9','139','328','238']
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*lex 14

var myString = String( 9139328238 );
console.log( myString.split( /(?=(?:...)*$)/ ) );
// ["9", "139", "328", "238"]
Run Code Online (Sandbox Code Playgroud)

我无法提供任何性能保证.对于小字符串,应该没问题.

这是一个循环实现:

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;
}
Run Code Online (Sandbox Code Playgroud)

  • 您应该使用非捕获组来生成所需的输出:`/(?=(?:..)*$)/` (8认同)
  • 我在我的控制台中使用了不同的字符串......让我编辑一下...... ---原来我不是.谢谢Felix! (2认同)