Maison >interface Web >js tutoriel >Comment diviser de grandes chaînes en morceaux plus petits en JavaScript ?

Comment diviser de grandes chaînes en morceaux plus petits en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-04 01:57:01765parcourir

How to Split Large Strings into Smaller Chunks in JavaScript?

Diviser de grandes chaînes en morceaux plus petits en JavaScript

Pour diviser efficacement une grande chaîne en morceaux plus petits d'une taille spécifiée, plusieurs approches peuvent être considéré. Une méthode consiste à utiliser la méthode String.prototype.match.

Considérez l'exemple suivant :

<br>"1234567890".match(/.{1,2}/ g);<br>

Cette expression divise la chaîne d'entrée en morceaux de deux caractères chacun, ce qui donne :

["12", "34", "56 ", "78", "90"]

Même pour les chaînes qui ne se divisent pas proprement selon la taille de bloc spécifiée, la méthode match la gère de manière appropriée :

<br>"123456789".match(/.{1,2}/g);<br>

Retours :

["12", "34", " 56", "78", "9"]

En général, pour extraire des sous-chaînes de longueur au plus n, la syntaxe suivante peut être utilisée :

<br>str .match(/.{1,n}/g); // Remplacez n par la taille de morceau souhaitée<br>

Pour les chaînes contenant des nouvelles lignes ou des retours chariot, l'expression suivante peut être utilisée :

<br>str.match(/(.|[rn]){1,n}/g); // Remplacez n par la taille de bloc souhaitée<br>

En termes de performances, un test avec une chaîne d'environ 10 000 caractères a pris un peu plus d'une seconde sur Chrome. Vos résultats peuvent varier.

Pour créer une fonction réutilisable pour cette tâche, vous pouvez définir la fonction JavaScript suivante :

<br>function chunkString(str, length) {<br> return str.match(new RegExp('.{1,' length '}', 'g'));<br>}<br>

Cette fonction vous permet de diviser les chaînes en morceaux d'une longueur spécifiée et peut être facilement intégré à vos programmes JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn