ASCII olmayan tüm karakterleri normal ifade ve Notepad ++ ile nasıl kaldırırım?


154

Çok aradım ama hiçbir yerde ASCII olmayan karakterlerin Notepad ++ 'dan nasıl kaldırılacağı yazılmadı.

Bul ve değiştir kısmına hangi komutu yazacağımı bilmem gerekiyor (resimle harika olurdu).

  • Bir beyaz liste yapmak ve tüm ASCII kelimelerini / satırlarını işaretlemek istersem, ASCII olmayan satırlar işaretlenmez

  • Dosya oldukça büyükse ve tüm ASCII satırlarını seçemiyorsanız ve yalnızca ASCII olmayan karakterler içeren satırları seçmek istiyorsanız ...

Yanıtlar:


273

Bu ifade, ASCII olmayan değerleri arayacaktır:

[^\x00-\x7F]+

'Arama Modu = Normal ifade' seçeneğini işaretleyin ve tıklayın Find Next.

Kaynak: Herhangi bir ASCII karakterini normal ifade edin


4
ve açık olmaması durumunda, "^" işaretini kaldırırsanız ASCII satırlarını arıyorsunuz
Mike M

9
İyi çalışıyor ama ayarlamam gerekiyordu Encoding->Encode in ANSI. Başka türlü bir şey bulamadı.
FoamyGuy

1
Onun regexp'in-arama seçeneği (asteriks-düğme) ile netbeans içinde mükemmel çalışıyor
Teson

VS-Code'da çalışır, Regex arama seçeneğini tıklamayı unutmayın!
yashhy

4
\ R ve \ n - satır başı ve satır besleme karakterlerini saklamak istiyorsanız - şu normal ifadeyi kullanabilirsiniz: [\ x00- \ x09 \ x0B- \ x0C \ x0E- \ x1F] +
Steffen Winkler

54

Notepad ++ 'da, AraAralıktaki karakterleri bulASCII Olmayan Karakterler (128-255) menüsüne giderseniz, belgede ASCII olmayan karakterlerin her birine gidebilirsiniz.

Tüm ASCII olmayan karakterler için belgede döngü oluşturmak istiyorsanız " Sarma " seçeneğini işaretlediğinizden emin olun .

ekran görüntüsü "Aralıkta Bul"


4
Bu iyi çalışıyor, ancak tüm sonuçları bir listede göstermiyor ve "değiştir" seçeneği göstermiyor
Alex

Temiz ... Hep ASCII olmayan için regex unutup Google'a bunun için bu sayfaya :) geri dönmek için her zaman var çünkü
Jean-François T.

28

ProGM tarafından verilen cevaba ek olarak, NUL veya ACK gibi kutularda karakterler görürseniz ve bunlardan kurtulmak isterseniz bunlar ASCII kontrol karakterleridir (0'dan 31'e), aşağıdaki ifadeyle bulabilir ve kaldırabilirsiniz:

[\x00-\x1F]+

ASCII ve ASCII olmayan tüm kontrol karakterlerini kaldırmak için, bu normal ifadeyle eşleşen tüm karakterleri kaldırmanız gerekir:

[^\x1F-\x7F]+

Verilen \x00ve gelen değerler, \x1FProGM tarafından yanıtta zaten eşleştirilmiştir.
Unihedron

2
Tutmak istediğiniz değerlerle eşleştirilirler. Onlardan kurtulmak istersen diye bunu öneriyordum.
brunorey

Son örnek, birim ayırıcı karakterini hariç tutmak için 20'den başlamalıdır. Belki 7F'yi hariç tuttuğunuz gibi bir kontrol karakteri de olabilir.
fgb

Parlak! Qdap R paketini kullanarak sinir bozucu ASCII olmayan tüm karakterleri şunları kullanarak kaldırdım:mgsub("[^\x1F-\x7F]+", "", text_vector, fixed = FALSE)
Pablo Adames

23

ASCII olmayan tüm karakterleri kaldırmak için aşağıdaki değiştirmeyi kullanabilirsiniz: [^\x00-\x7F]+

ASCII olmayanın kaldırılması

Karakterleri vurgulamak için , arama penceresinde İşaretleme işlevini kullanmanızı tavsiye ederim : bu, ASCII olmayan karakterleri vurgular ve bunlardan birini içeren satırlara bir yer imi koyun

Bunun yerine ASCII karakterlerini vurgulamak ve üzerine bir yer imi koymak isterseniz, [\x00-\x7F]bunu yapmak için normal ifadeyi kullanabilirsiniz .

ASCII Olmayan Vurgulama

Şerefe


2
arama ifadesini kopyalamak istiyorsanız [^ \ x00- \ x7F] +
hyena

2
\ R ve \ n - satır başı ve satır besleme karakterlerini saklamak istiyorsanız - şu normal ifadeyi kullanabilirsiniz: [\ x00- \ x09 \ x0B- \ x0C \ x0E- \ x1F] +
Steffen Winkler

4

Yeni satırları korumak için:

  1. Önce yeni satır için bir karakter seçin ... # kullandım.
  2. Değiştirme seçeneğini seçin, genişletilmiş.
  3. girdi \ n # ile değiştir
  4. Tümünü Değiştir'e basın

Sonraki:

  1. Normal İfade Değiştir seçeneğini seçin.
  2. Şunu girin: [^ \ x20- \ x7E] +
  3. Boşla Değiştirin
  4. Tümünü Değiştir'e basın

Şimdi, Genişletilmiş Değiştir seçeneğini seçin ve # ile Değiştirin \ n

:) şimdi, temiz bir ASCII dosyanız var;)


3

Bir başka iyi numara da editörünüzde UTF8 moduna girmektir, böylece bu komik karakterleri gerçekten görebilir ve bunları kendiniz silebilirsiniz.


1

Diğer yol...

  1. Zaten sahip değilseniz, Text FX eklentisini yükleyin
  2. TextFX menü seçeneğine gidin -> yazdırılamayan tüm karakterleri # olarak zap yapın. Tüm geçersiz karakterleri 3 # sembolle değiştirir
  3. Bul / Değiştir'e gidin ve ### öğesini arayın. Bir boşlukla değiştirin.

Normal ifadeyi hatırlayamıyorsanız veya aramayı umursamıyorsanız, bu güzel. Ancak başkalarının bahsettiği normal ifade de güzel bir çözüm.


Tüm karakterleri zaplamak, tüm noktalama işaretlerini ### ile değiştirir. Beklediğim çözüm şudur: "&" yerine "." & "İle" ile değiştirmek. Vb.
Kasım Husaini

İyi çalışıyor, ancak araç komik karakterleri üç değil bir # karakter ile değiştiriyor. lütfen Not tut.
Raghav

1
Text FX eklentisi kullanımdan kaldırıldı ve artık kullanıma hazır olmayabilir bile. Örneğin bkz. TextFX'in Geleceği - "Liste yeterince uzadığında, topluluğa iyi hizmet etmiş, yaşlanan bir ata veda etmek pratik hale gelecektir."
Peter Mortensen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.