NOTEPAD ++, Özel karakterlere nasıl karakter eklenir?


-4

Nasıl alabilirim:

blablabla x/11/1048.1 blablabla blablabla
x/11/i blablabla
blablablax/11/a
 blablabla x/11/b.2 blablabla blablabla blablabla

olmak:

x/11/1048.1.full.y
x/11/i.full.y
x/11/a.full.y
x/11/b.2.full.y

Yorumlar uzun tartışmalar için değildir; bu konuşma sohbete taşındı .
DavidPostill

Yanıtlar:


2

İşte gitmenin bir yolu:

  • Ctrl+H
  • Ne buldun: ^.*?(x/[^/]+/\S+).*$
  • İle değiştirin: $1.full.y
  • Replace all

Açıklama:

^               : begining of line
.*?             : 0 or more any character, not greedy
(               : start group 1
  x             : literally x
  /             : literally /
  [^/]+         : 1 or more any character that is not /
  /             : literally /
  \S+           : 1 or more character that is not a space
)               : end group 1
.*              : 0 or more any character
$               : end of line
  • KONTROL ETME . matches newline

Değiştirme:

$1.full.y       : content of group 1 followed by .full.y

Verilen örnek için sonuç:

x/11/1048.1.full.y
x/11/i.full.y
x/11/a.full.y
x/11/b.2.full.y

0

.full.yDizilerin yerini değiştirdikten sonra satırın sonuna ekliyoruz blablabla.

İlk önce, tüm 'blablabla' örneklerini (fazladan boşlukları kaldırmak için varyasyonları) kaldıran bir arama yapın.

Ardından, $"satırın sonu" anlamına gelen düzenli ifadeler kullanın :

görüntü tanımını buraya girin


üzgünüm kötüyüm, sorumu değiştirdim, lütfen sorunu çöz, en iyi dileklerimle
michael andrew

Size adil
davranarak

1
Kelimenin tam anlamıyla soruyu almak için bu cevabı güncelledik. Açıklayıcı bir düzenleme yapılacaktır.
Paul,

0

Yani, var

blablabla x/11/1048.1 blablabla blablabla
x/11/i blablabla
blablablax/11/a
 blablabla x/11/b.2 blablabla blablabla blablabla

Blahbla'nın ne olduğu önemli değil.

bulmak .*(x/[^/]*/[^/\s\b]*[\s\b]).*

\ 1 ile değiştirin

Bulgunun yuvarlak parantez içindeki kısmı, korumak istediğiniz x / .... / ... şablonunuzdur.

verir

x/11/1048.1 
x/11/i 
x/11/a
x/11/b.2 

Bazılarının onlardan sonra boşluk bıraktıklarını gördüm, regex'imde bir kusur olabilir ama farketmez, çizginin sonundaki boşluğu bulabilir ve kaldırabiliriz.

find: (\r?\n) <- yani, bir satır ayırıcı veya satır sonlandırıcıyı, \ r \ n veya \ n izleyen boşluk karakterini bulun ve sadece satır ayırıcı veya satır sonlandırıcıyla değiştirin. Ondan alanı kaldıracağız.

ile değiştirin: \1

x/11/1048.1 
x/11/i 
x/11/a
x/11/b.2 

Ve bu, x ile başlayan ve 'yakalayan' ile başlayan her çizgiyi bulur ve ardından onu .full.y ile değiştirir

bul: ile (^x/.*$)
değiştir\1.full.y

x/11/1048.1.full.y
x/11/i.full.y
x/11/a.full.y
x/11/b.2.full.y
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.