Dividindo strings grandes em pedaços de tamanho N em JavaScript
Para dividir com eficiência uma string grande em pedaços menores de tamanho N, você pode utilizar o método String.prototype.match em JavaScript. Este método permite que você aplique um padrão de expressão regular à string e extraia substrings correspondentes.
Usando String.prototype.match:
Para dividir uma string em N- pedaços dimensionados, você pode usar o seguinte padrão de expressão regular:
/.{1,n}/g
Onde n representa o tamanho do pedaço desejado. Por exemplo, para dividir uma string em pedaços de tamanho 2, o padrão seria:
/.{1,2}/g
Exemplo:
Considere a string "1234567890" e um tamanho de pedaço de 2. Usando o padrão mencionado acima, você pode dividir a string da seguinte maneira:
"1234567890".match(/.{1,2}/g)
Isso resultará na seguinte matriz:
["12", "34", "56", "78", "90"]
Tratando pedaços de tamanhos ímpares:
Se o tamanho da string não for um múltiplo exato do tamanho do pedaço, o último pedaço pode ser menor que o tamanho desejado. Por exemplo, com uma string de tamanho 9 e um tamanho de bloco 2, a matriz resultante seria:
["12", "34", "56", "78", "9"]
Função reutilizável:
Você pode empacotar a lógica de divisão em uma função reutilizável:
function chunkString(str, length) { return str.match(new RegExp('.{1,' length '}', 'g')); }
Considerações sobre desempenho:
Embora o método match seja eficiente na maioria dos casos, seu desempenho pode variar dependendo do tamanho da string de entrada e do padrão de expressão regular específico usado. É importante notar que, com strings grandes, as operações de divisão podem levar algum tempo, por isso é aconselhável testar e otimizar seu código de acordo.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3