Mémorandum du processus de suppression de chaîne python

Aperçu

Je me suis un peu bloqué lors de la suppression d'une chaîne de caractères en Python, alors je l'ai écrite comme rappel Vous pouvez vous retrouver avec désinvolture à utiliser rstrip, lstrip.

phénomène

Vous pouvez utiliser lstrip ou rstrip lors de la suppression des préfixes ou des suffixes dans les noms de fichiers comme suit:


fileName='test_Fichier de sortie_20191217_001.xlsx'
#Supprimer le préfixe
print(fileName.lstrip('test_'))
#Fichier de sortie_20191217_001.xlsx

#Supprimer le suffixe
print(fileName.rstrip('.xlsx'))
# test_Fichier de sortie_20191217_001


Il ne semble y avoir aucun problème en tant que résultat de sortie, mais un problème se produit lorsque la chaîne de caractères est la suivante.


fileName='test_est_Fichier de sortie_20191217_001xsls.xlsx'
#Supprimer le préfixe
print(fileName.lstrip('test_'))
#Fichier de sortie_20191217_001xsls.xlsx

#Supprimer le suffixe
print(fileName.rstrip('.xlsx'))
# test_est_Fichier de sortie_20191217_001

Je veux que seul test_ ou .xlsx disparaisse, mais d'autres caractères ont également disparu. La cause est que «lstrip» ou «rstrip» supprime celui qui correspond à la chaîne spécifiée.

Si le motif est effacé avec un préfixe, l'un des caractères de test_ est supprimé. S'il s'agit d'un suffixe, l'un des «.xlsx» est supprimé.

Si vous souhaitez supprimer le préfixe ou le suffixe dans un tel cas Il semble bon d'utiliser re pour le supprimer avec une expression régulière. Dans le cas de l'exemple

import re

fileName='test_Fichier de sortie_20191217_001.xlsx'
#Supprimer le préfixe
print(re.sub("^test_", "", fileName))
#Fichier de sortie_20191217_001.xlsx

#Supprimer le suffixe
print(re.sub(".xlsx$", "", fileName))
# test_Fichier de sortie_20191217_001

Vous pouvez supprimer fermement le préfixe ou le suffixe.

Les exemples qui ne fonctionnent pas avec lstrip ou rstrip fonctionnent également, comme indiqué ci-dessous.

import re

fileName='test_est_Fichier de sortie_20191217_001xsls.xlsx'
#Supprimer le préfixe
print(re.sub("^test_", "", fileName))
# est_Fichier de sortie_20191217_001xsls.xlsx


#Supprimer le suffixe
print(re.sub(".xlsx$", "", fileName))
# test_est_Fichier de sortie_20191217_001xsls

Recommended Posts

Mémorandum du processus de suppression de chaîne python
[Python] Un mémorandum de belle soupe4
Démoniser un processus Python
Un mémorandum sur l'appel de Python à partir de Common Lisp
Mémorandum d'extraction par requête python bs4
Remarque sur la compilation du noyau
Découpez une partie de la chaîne à l'aide d'une tranche Python
[Python] Utiliser une séquence de chaînes
Un petit mémorandum d'openpyxl
Un mémorandum sur le simulacre de Python
Un mémorandum d'utilisation de eigen3
Découvrez la largeur apparente d'une chaîne en python
Un mémorandum où je suis tombé sur mon HEROKU & Python personnel (Flask)
Python> Lire à partir d'une chaîne multiligne au lieu d'un fichier> io.StringIO ()
Un enregistrement de patcher un package python
Une bonne description des décorateurs Python
Un bref résumé de la collection Python
Mémorandum du débutant Mouvement "isdigit" Python
Créer une chaîne aléatoire en Python
Un mémorandum du contenu de l'enquête de clôture
Mémorandum de l'outil de gestion de paquets Python ez_setup
Créer une instance d'une classe prédéfinie à partir d'une chaîne en Python
Mémorandum Python
Format lors du passage d'une longue chaîne comme argument de python
Mémorandum Python 2
Mémorandum Python
mémorandum python
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 4)
Chaîne Python
Mémorandum Python
Mémorandum Python
Un mémorandum concernant l'acquisition de l'examen de base de certification d'ingénieur Python3
Conversion de la chaîne <-> date (date, datetime) en Python
Afficher une liste d'alphabets en Python 3
Un mémorandum sur l'utilisation de la fonction d'entrée de Python
Un mémorandum de la vitesse de diagonalisation arbitraire des degrés
Créer un diagramme de relations des modules Python
Mémorandum des débutants en python
# 5 [python3] Extraire des caractères d'une chaîne de caractères
Connectez beaucoup de Python ou et et
comparaison de chaînes python / utiliser 'list' et 'in' au lieu de '==' et 'ou'
Mémorandum sur le QueryDict de Django
[Python] Comment inverser une chaîne de caractères
[python] Obtenir une liste de variables d'instance
Conversion de chaîne d'une liste contenant des nombres
[python] [meta] Le type de python est-il un type?
Grammaire de base de la série Python3 (chaîne de caractères)
Générer une classe à partir d'une chaîne en Python
L'histoire du traitement A du blackjack (python)
[Python] Obtenir une liste de dossiers uniquement
Un mémorandum de problème lors du formatage des données
Je veux colorer une partie de la chaîne Excel avec Python
Un mémo qui a fait un tutoriel pour exécuter python sur heroku
Python: combinaison de chaînes
Dessiner un graphique d'une fonction quadratique en Python
Format de chaîne Python
Mémorandum de base Python
tranche de chaîne python