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
.
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