Nettoyeur de Texte
Supprimez les espaces superflus, les lignes vides, les caractères spéciaux et les balises HTML.
Le nettoyeur de texte supprime la mise en forme indésirable, les espaces blancs superflus et les déchets courants du texte en un seul clic. Lorsque vous copiez du texte à partir de PDFs, de documents Word, de pages web ou d'e-mails, le résultat contient souvent des sauts de ligne supplémentaires, plusieurs espaces consécutifs, des caractères Unicode invisibles ou des entités HTML comme & et .
Sélectionnez les opérations de nettoyage dont vous avez besoin et cliquez sur Nettoyer. Les opérations disponibles comprennent : supprimer les espaces blancs supplémentaires et les lignes vides, rogner les espaces de début et de fin, fusionner plusieurs espaces en un, convertir les guillemets typographiques en guillemets droits, supprimer les balises HTML, décoder les entités HTML et supprimer les caractères non imprimables.
Le nettoyage de texte est une première étape courante dans les pipelines de traitement de données. Lors de l'importation de données textuelles dans des bases de données, des modèles d'apprentissage automatique ou des APIs, les espaces blancs inattendus et les caractères spéciaux sont une source fréquente d'erreurs d'analyse.
Questions Fréquentes
Implémentation du Code
import re
import unicodedata
def remove_control_chars(text: str) -> str:
"""Remove non-printable control characters (keep tab, newline, carriage return)."""
return "".join(
ch for ch in text
if unicodedata.category(ch) not in ("Cc", "Cf") or ch in ("\t", "\n", "\r")
)
def normalize_line_endings(text: str, style: str = "lf") -> str:
"""Normalize line endings to LF (Unix) or CRLF (Windows)."""
text = text.replace("\r\n", "\n").replace("\r", "\n")
if style == "crlf":
text = text.replace("\n", "\r\n")
return text
def collapse_whitespace(text: str) -> str:
"""Replace multiple consecutive spaces/tabs on each line with a single space."""
return "\n".join(re.sub(r"[ \t]+", " ", line) for line in text.splitlines())
def trim_lines(text: str) -> str:
"""Strip leading and trailing whitespace from each line."""
return "\n".join(line.strip() for line in text.splitlines())
def remove_blank_lines(text: str) -> str:
"""Collapse multiple consecutive blank lines into one."""
return re.sub(r"\n{3,}", "\n\n", text)
def clean_text(text: str,
control_chars: bool = True,
normalize_endings: bool = True,
collapse_spaces: bool = True,
trim: bool = True,
blank_lines: bool = True) -> str:
"""Run all cleaning steps in sequence."""
if control_chars:
text = remove_control_chars(text)
if normalize_endings:
text = normalize_line_endings(text)
if collapse_spaces:
text = collapse_whitespace(text)
if trim:
text = trim_lines(text)
if blank_lines:
text = remove_blank_lines(text)
return text
sample = " Hello\t world! \n\n\nExtra blank lines \n\x00Null byte here "
print(repr(clean_text(sample)))
# 'Hello world!\n\nExtra blank lines\nNull byte here'Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.