Regex ile metindeki boş satırları kaldırmak
C#, JavaScript ve Python tarafında metindeki fazla boş satırları düzenli ifadeyle temizlemek için kullanılabilecek pratik regex örneği.
Bir metindeki fazla boş satırları temizlemek, kullanıcıdan gelen içerikte sık ihtiyaç duyulan işlemlerden biridir. Aşağıda aynı düzenli ifadenin C# ve JavaScript karşılıkları ve deneyebileceğiniz bir çalışma örneği var.
İfade, satır sonundan önceki boşluk yığınını tek satır sonuyla değiştirir. Boşluk sınıfı sekme ve satır başı karakterini de kapsadığı için Windows ve Unix satır sonlarının ikisinde de çalışır.
JavaScript tarafında genel (g) bayrağını koymayı unutmayın; onsuz yalnız ilk eşleşme değişir. C# tarafında Replace zaten tüm eşleşmeleri değiştirir.
C#
string metin="....";
Regex r = new("\s+\n");
metin = r.Replace(metin, "\n");
Javascript
var metin="....";
var r = /\s+\n/g;
metin = metin.replace(r, "\n");
Python
import re
metin = "...."
r = re.compile(r'\s+\n')
metin = r.sub("\n", metin)
Kısa rehber
Ne zaman kullanılır?
Metin editörleri, iletişim formları, ürün açıklamaları ve kullanıcıdan gelen uzun açıklama alanlarında boş satırlar kısa sürede dağınık görüntü oluşturur. Bu küçük temizlik, içeriği kaydetmeden önce daha okunur hale getirir.
Dikkat edilecekler
- Windows ve Unix satır sonlarını birlikte test edin; sadece kendi bilgisayarınızdaki çıktıya güvenmeyin.
- Kullanıcının bilerek bıraktığı paragraf boşluklarını tamamen yok etmediğinizden emin olun.
- Temizliği hem ön yüzde hem kayıt öncesi sunucu tarafında aynı kuralla yapmaya çalışın.
Sık yapılan hata
Bütün boşlukları silmeye çalışmak metni düz ve okunmaz hale getirebilir. Amaç her boşluğu kaldırmak değil, kontrolsüz tekrarları sadeleştirmektir.
Projeye taşırken dikkat edin
Regex örnekleri hızlı çözüm sağlar; ancak gerçek projede veri kaynağı, satır sonu biçimi, tarayıcı/sunucu farkı ve kullanıcı hataları birlikte test edilmelidir. Web formları, yönetim panelleri ve özel yazılımlarda doğrulama yalnız ön yüzde bırakılmamalı, sunucu tarafında da kontrol edilmelidir.