Metin Temizleyici
Metinden fazla boşlukları, boş satırları, özel karakterleri ve HTML etiketlerini kaldırın.
Metin Temizleyici, bir tıklamayla metinden istenmeyen biçimlendirmeyi, fazla boşluğu ve yaygın gereksiz içerikleri kaldırır. PDF, Word belgesi, web sayfası veya e-postalardan metin kopyaladığınızda, sonuç genellikle fazla satır sonları, ardışık birden fazla boşluk, görünmez Unicode karakterler veya & ve gibi HTML varlıkları içerir.
İhtiyaç duyduğunuz temizleme işlemlerini seçin ve Temizle'ye tıklayın. Kullanılabilir işlemler şunları içerir: fazla boşluk ve boş satırları kaldırma, baştaki ve sondaki boşlukları kesme, birden fazla boşluğu tek boşluğa indirgeme, akıllı/kıvrık tırnak işaretlerini düz tırnağa dönüştürme, HTML etiketlerini kaldırma, HTML varlıklarını çözme ve yazdırılamaz karakterleri kaldırma.
Metin temizleme, veri işleme ardışık düzenlerinde yaygın bir ilk adımdır. Metin verilerini veritabanlarına, makine öğrenmesi modellerine veya API'lere aktarırken, beklenmedik boşluklar ve özel karakterler sık sık ayrıştırma hatalarının kaynağı olur.
Sıkça Sorulan Sorular
Kod Uygulaması
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.