Maison > interface Web > js tutoriel > Comment puis-je diviser une chaîne en JavaScript et conserver le délimiteur ?

Comment puis-je diviser une chaîne en JavaScript et conserver le délimiteur ?

Patricia Arquette
Libérer: 2024-12-09 11:08:06
original
825 Les gens l'ont consulté

How Can I Split a String in JavaScript and Keep the Delimiter?

Diviser des chaînes en JavaScript tout en préservant les délimiteurs

Lorsque vous essayez de diviser une chaîne à l'aide d'un délimiteur en JavaScript à l'aide de la méthode split(), il est Il est courant de perdre le délimiteur dans le tableau résultant. Pour résoudre ce problème, envisagez les solutions suivantes :

Par exemple, étant donné la chaîne :

var string = "aaaaaa<br /><br />bbbb<br /><br />cccc"
Copier après la connexion

Nous souhaitons diviser cette chaîne à l'aide du délimiteur
suivi d'un caractère spécial. L'utilisation de l'expression /
&#?[a-zA-Z0-9] ;/g peut ne pas conserver le délimiteur.

Pour conserver le délimiteur, envisagez d'utiliser les variantes suivantes :

  • Capturer le Délimiteur :

    string.split(/(<br \/>)/g);
    Copier après la connexion

    Cette expression utilise des parenthèses pour capturer le délimiteur, garantissant qu'il reste dans le tableau résultant.

  • Avis positif :

    string.split(/(?=</g);
    Copier après la connexion

    Cette expression divise la chaîne à chaque position où le délimiteur est au à droite, mais ne capture pas le délimiteur lui-même.

  • Lookahead négatif :

    string.split(/(?!</g);
    Copier après la connexion

    Cette expression divise la chaîne à chaque position où le délimiteur n'est pas à droite, en conservant le délimiteur dans le résultat tableau.

Alternativement, pour une approche plus personnalisée, vous pouvez utiliser l'expression suivante :

string.split(/(.*?<br \/>)/g);
Copier après la connexion

Cette expression capture tout jusqu'au délimiteur inclus, en supprimant uniquement le caractère spécial.

Notez que certaines expressions ne peuvent diviser que des caractères uniques. Dans de tels cas, des alternatives telles que les suivantes peuvent être utilisées :

// Keep slashes after directories
var str = 'Animation/rawr/javascript.js';
var tokens = str.match(/[^\/]+\/?|\//g);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal