Maison > développement back-end > Tutoriel Python > Comment supprimer les séquences d'échappement ANSI des chaînes en Python ?

Comment supprimer les séquences d'échappement ANSI des chaînes en Python ?

Patricia Arquette
Libérer: 2024-11-27 12:20:12
original
965 Les gens l'ont consulté

How to Remove ANSI Escape Sequences from Strings in Python?

Suppression des séquences d'échappement ANSI d'une chaîne en Python

En Python, les séquences d'échappement ANSI peuvent constituer un obstacle lorsque vous travaillez avec des chaînes renvoyées par SSH commandes. Ces séquences, utilisées pour le formatage et le contrôle du curseur, peuvent perturber la lisibilité et la fonctionnalité de la chaîne. Pour résoudre ce problème et extraire le texte souhaité, explorons une solution utilisant des expressions régulières.

L'extrait Python suivant montre comment supprimer les séquences d'échappement ANSI d'une chaîne :

import re

# Regex to capture ANSI C1 escape sequences
ansi_escape = re.compile(r'\x1B(?:[@-Z\-_]|\[[0-?]*[ -/]*[@-~])')

# Replace escape sequences with an empty string
result = ansi_escape.sub('', string_with_ansi_sequences)
Copier après la connexion

Le ansi_escape L'expression régulière cible les séquences d'échappement ANSI C1 de 7 et 8 bits. Il capture les séquences commençant par le caractère d'échappement (x1B) suivi soit d'une séquence de contrôle (par exemple, [@-Z\-_]), soit d'une séquence de contrôle introduite par [. La méthode sub() remplace ensuite toutes les correspondances par une chaîne vide, supprimant ainsi les séquences d'échappement.

Par exemple, la chaîne d'entrée suivante :

'ls\r\n\x1b[00m\x1b[01;31mexamplefile.zip\x1b[00m\r\n\x1b[01;31m'
Copier après la connexion

serait transformée en :

'ls\r\nexamplefile.zip\r\n'
Copier après la connexion

Cette méthode vous permet de supprimer les séquences d'échappement ANSI et de récupérer le texte souhaité à partir des chaînes renvoyées par les commandes SSH, vous permettant ainsi de travailler avec le texte extrait sans formatage. interférence.

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