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
Patricia Arquetteoriginal
2024-12-09 11:08:06826parcourir

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"

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);

    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);

    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);

    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);

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);

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