Voici un résumé de la façon de supprimer différents types d'espaces, y compris les espaces demi-largeur et les espaces pleine largeur.
macOS Catalina version 10.15.4 python 3.8.0
Utilisez str.split ()
#\u3000 est un espace pleine largeur
text = "a\u3000 b\t\nc\r\n"
text = ''.join(text.split())
Utilisez str.splitlines ()
text = "a\u3000 b\t\nc\r\n"
text = ''.join(text.splitlines())
Utilisez str.translate ()
text = "a\u3000 b\t\nc\r\n"
table = str.maketrans({
'\u3000': '',
' ': '',
'\t': ''
})
text = text.translate(table)
S'il y a beaucoup d'autres caractères à supprimer, il est plus facile d'écrire l'argument de str.maketrans ()
dans la notation de type d'inclusion.
text = "a\u3000 b\t\nc\r\nd\x0ce\x0bf"
table = str.maketrans({
v: '' for v in '\u3000 \x0c\x0b\t' #Ou['\u3000',' ','\x0c','\x0b','\t']
})
text = text.translate(table)
Je vous ai donné quelques conseils sur la façon d'utiliser les expressions régulières dans les commentaires, je vais donc les résumer ci-dessous. Merci pour votre commentaire.
import re
#Supprimez d'un seul coup les sauts de ligne, les tabulations, les espaces, etc.
text = "a\u3000\n\n b\t\nc\r\nd\x0ce\x0b\rf\r\n"
text = re.sub(r"\s", "", text)
#Code de saut de ligne (\r\n ou\n) Supprimer uniquement à la fois
text = "a\u3000\n\n b\t\nc\r\nd\x0ce\x0b\rf\r\n"
text = re.sub(r"[\r\n]", "", text)
#Supprimez certains espaces (par exemple, espace pleine largeur, espace demi-largeur, tabulation) sauf le code de saut de ligne à la fois
text = "a\u3000\n\n b\t\nc\r\nd\x0ce\x0b\rf\r\n"
text = re.sub(r"[\u3000 \t]", "", text)
Recommended Posts