Notepad ++ uygulamasında bir satırı nasıl tersine çevirebilirim?


12

Notepad ++ ile tek bir satırı tersine çevirmek mümkün mü?

Misal:

Hello world

Olarak değişecek

dlrow olleH

Bu işlevler için bir eklenti kurmalı mıyım?

GÜNCELLEME : Panoyu orijinal durumunda tutmak istiyorum. Dolayısıyla [kopya] - [dış dönüşüm] - [macun] uygun değildir.

Buna ek olarak, bağlantısı kesilmiş bir masaüstü ortamında kalmak istiyorum, bu nedenle herhangi bir çevrimiçi hizmet çözümü uygun değildir.

Yanıtlar:


6

Dizenin başlangıcını özel bir karakterle işaretledikten sonra dizeyi tersine çevirmek için yinelenen bir arama yapabilir ve değiştirebilirsiniz (Örnekte yüzde işaretini% kullanıyorum)

arama: (%)(.*)(.)

değiştirin: \3\1\2

arama ve değiştirme işlemlerinde "normal ifadeler" i etkinleştirin.

dize ters olana kadar işlemi tekrarlayın.


2
Bu uzun bir çizgi için yorucu olabilir, ancak NPP'nin ortamı içinde hala “içeride” olduğundan bu oldukça hoş bir çözüm.
Ron Klein

3

GÜNCELLEME: Bir Python-3 "pano metni ters" komut dosyası ekledim.
Bu Python-3 betiği Unicode metinlerine hitap eder; yani. tüm metinler ...

# original # Ĥĕłłō ŵōŗłđ in Unicode  
# reversed # edocinU ni đłŗōŵ ōłłĕĤ  

Henüz bir entegre çözüm sunulmadığından, bir Unix-tools çözümüne değineceğim.

Kaynakta belirtilen yardımcı programları indirin (aşağıda) ve bunları PATH'd klasörüne yerleştirin.
Kodu (aşağıda) bir .cmd dosyasına yerleştirin ve istediğiniz herhangi bir adla çağırın. (tabii ki PATH'd klasöründe olmalıdır).
.Cmd'ye bir Windows kısayolu oluşturun (StartMenu'nuzun herhangi bir yerine koyun ve simge durumuna küçültülecek şekilde ayarlayın) ... ve kısayol tuşu kullanın.

Daha sonra istediğiniz metni panoya kopyalayabilir ve Kısayol Tuşunuza basabilirsiniz ... Tamam! .. ters metin seçilen metnin yerini alır.

İsterseniz, bir satırın tamamını seçmek ve kopyalamak için bir NotePad ++ makrosu oluşturabilirsiniz. (Metnin sonundaki yeni satır karakterlerini not edin.

Ayrıca, kaynak notlarda belirtildiği gibi. Tek baytlık karakter setleri için bu çalışma.

sed.exeUnicode'la başa çıkabiliyor olabilirim, ama henüz bunu henüz tamamlayamadım ... Bunu nasıl yapacağınızı biliyorsanız, lütfen bilgiyi burada ya da belki de bu konuya ilişkin belirli bir qustion yayınlamamda yayınlayın : can-gnu-sed-for-windows-handle-unicode

Bu sed.exesürüm:

@echo off
  ::==============================================::
  :: FUNCTION: Reverse the text in the clipboard. ::
  ::    8-bit characters only (ANSI).             ::
  :: It removes all \r and \n characters, because ::
  :: because sed.exe adds a trailing line-feed    ::
  :: Four `NIX utilities are used.                ::
  ::    2 gclip.exe  (GNU)                        ::
  ::    1 pclip.exe  (GNU)                        ::
  ::    3 gsed.exe   (GNU)                        ::
  ::    4 tr.exe (is `NIX, but maybe not GNU)     ::
  ::==============================================:: 
  >   "%temp%\%n0.sed" echo /\n/!G
  >>  "%temp%\%n0.sed" echo s/\(.\)\(.*\n\)/^&\2\1/
  >>  "%temp%\%n0.sed" echo //D
  >>  "%temp%\%n0.sed" echo s/.//
  pclip.exe | sed.exe -f "%temp%\%n0.sed" | tr.exe -d "\r\n" | gclip.exe  
  del "%temp%\%n0.sed"
goto :eof  

İşte Python-3sürüm:

##==============================================##
## FUNCTION: Reverse the text in the clipboard. ##
##           The text is handled as unicode.    ##
## Using Python-3.1.2                           ##
##  with Python-Win32-extensions for Python-3.1 ##
##==============================================##
import win32clipboard as w
w.OpenClipboard() 
## CF_UNICODETEXT == 13
s=w.GetClipboardData(13)
w.SetClipboardData(13,s[::-1]) 
w.CloseClipboard() 

Python 2.5 ile Windows üzerinde de harika çalışıyor. Tatlı!
Dennis

Bu panonun durumunu değiştirir. Bundan kaçınmak istiyorum. Ancak, eğer işe yararsa, bunu kabul edebilirim.
Ron Klein

2

Bunu yapmanız gerekmiyorsa , geri dönüşü yapmak için satırı bu çevrimiçi araca kopyalayabilirsiniz .


Güzel fikir, ama asıl notepad ++ ortamında çalışmaya devam etmek ve herhangi bir dış kaynağa (tarayıcıya) gitmemek.
Ron Klein

Aracı ne yazık ki çevrimdışı
Antonio

2

Bunun başka bir araç kullandığını anlıyorum, ancak Excel'de metni tersine çevirebilir ve sonra tekrar kopyalayabilirsiniz. Bir e-tablo oluşturun ve bu makroyu ekleyin:

Sub ReverseText()
    Cells(Selection.Row, Selection.Column + 1) = StrReverse(Selection.Value)
End Sub

Bu özelliği düzenli olarak kullanmak istiyorsanız, makroyu kolay erişim için araç çubuğundaki bir düğmeye atayın. Bazı metinleri herhangi bir hücreye kopyalayın. Hücrenin seçildiğinden emin olun ve makroyu çalıştırın. Oluşturulan metni tekrar Notepad ++ 'a kopyalayın.

Bu basit özelliğin Notepad ++ veya benzeri bir eklenti aracılığıyla mevcut olmaması şaşırtıcı TextFX.


1

Notepad ++ BinHex eklentisi sürüm 2.0 bir String ters fonksiyonu uygulanmıştır.

Ters çevrilmesi gereken dizeyi işaretleyebilir ve Ctrl+ tuşuna basabilirsiniz R.


0

Dizeniz on karakterden azsa gor'un fikrinin bir uzantısı: Bunun
bir makrosunu yapın.
N ++ 'da istenen alanı vurgulayın

arama:

(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)

değiştirin:

\9\8\7\6\5\4\3\2\1

seçimde değiştir: işaretli

N ++ sadece on grubu destekler, bu yüzden elde edersiniz, ancak en azından bir seferde on harf yapar.

Konu dışı olarak, IE'nin normal ifade motoru, bu normal ifade türleriyle ilgili olarak kabul edilenden farklıdır, bu nedenle IE'de yinelemeler olmadan yapılabilir.


0
  1. Ters çevrilecek metni seçin.
  2. \ N \ 1 ile Tümünü Değiştir (.) İçin Seçili ve Normal ifade seçili olarak Değiştir penceresini kullanarak birden çok satıra bölün
  3. Metni tekrar seçin (bazı nedenlerden dolayı, 2. adımdan sonra son karakter seçimin dışında bırakılır).
  4. Satırları tersine çevirmek için Notepad ++ uygulamasında Satır sırasını tersine çevir seçeneğinin yanıtını kullanın .
  5. Satırları Tümünü değiştir \ geniş olarak boş bir dizeyle Değiştir seçiminde ve Genişletilmiş ile değiştir penceresini kullanarak satırları yeniden birleştirin.
  6. Yabancı satırsonlarını kaldırmanız gerekebilir.
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.