Bagaimana saya bisa membalikkan garis di Notepad ++?


12

Apakah mungkin untuk membalikkan satu baris di Notepad ++?

Contoh:

Hello world

Akan berubah menjadi

dlrow olleH

Haruskah saya memasang plugin untuk fungsi seperti itu?

UPDATE : Saya ingin menjaga clipboard dalam keadaan aslinya. Jadi [copy] - [eksternal transform] - [paste] tidak cocok.

Selain itu, saya ingin tetap berada di lingkungan desktop yang terputus, sehingga solusi layanan online apa pun tidak cocok.

Jawaban:


6

Anda dapat melakukan pencarian berulang dan ganti untuk membalikkan string, setelah Anda menandai awal string dengan karakter khusus (saya menggunakan tanda persen% dalam contoh)

Cari: (%)(.*)(.)

menggantikan: \3\1\2

aktifkan "ekspresi reguler" dalam pencarian dan ganti.

ulangi operasi sampai string dibalik.


2
Ini mungkin melelahkan untuk garis panjang, tapi itu solusi yang cukup bagus karena masih "di dalam" lingkungan PLTN.
Ron Klein

3

UPDATE: Saya telah menambahkan skrip "membalikkan teks clipboard" Python-3.
Skrip Python-3 ini melayani teks Unicode; yaitu. semua teks ...

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

Karena tidak ada solusi terintegrasi yang disajikan (belum), saya akan menyebutkan solusi Unix-tools.

Unduh utilitas yang disebutkan dalam sumber (di bawah), dan masukkan ke folder PATH'd.
Masukkan kode (di bawah) ke dalam file .cmd dan beri nama sesuka Anda. (Untuk, tentu saja harus dalam folder PATH'd).
Buat pintasan Windows ke .cmd (letakkan di suatu tempat di StartMenu Anda, dan atur untuk menjalankan diminimalkan) ... dan berikan Shortcut-Hotkey padanya.

Anda kemudian dapat menyalin teks pilihan Anda ke clipboard dan tekan Hotkey Anda ... Selesai! .. teks yang terbalik menggantikan teks yang dipilih.

Jika mau, Anda dapat mengatur makro NotePad ++ untuk memilih dan menyalin seluruh baris .. (perhatikan karakter baris baru di akhir teks).

Juga, sebagaimana disebutkan dalam catatan sumber. Workd ini untuk set karakter byte tunggal ..

sed.exemungkin dapat menangani Unicode, tetapi saya belum cukup mengatasinya ... Jika Anda mengetahui cara melakukan ini, silakan kirim info, baik di sini atau mungkin dalam posting saya tentang suatu qustion spesifik tentang masalah ini. : can-gnu-sed-for-windows-handle-unicode

Ini sed.exeversinya:

@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  

Ini Python-3versinya:

##==============================================##
## 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() 

Bekerja sangat baik dengan python 2.5 di windows juga. Manis!
Dennis

Ini mengubah status clipboard. Saya ingin menghindari ini. Namun, jika berhasil, saya mungkin menerimanya.
Ron Klein

2

Jika Anda tidak perlu melakukannya sesering mungkin, Anda dapat menyalin garis ke alat online ini untuk melakukan pembalikan.


Ide bagus, tetapi intinya adalah untuk tetap bekerja di dalam lingkungan Notepad ++, dan tidak pergi ke sumber daya eksternal (browser).
Ron Klein

Sayangnya, Alat sedang offline
Antonio

2

Saya menyadari ini menggunakan alat lain, tetapi Anda dapat membalikkan teks dalam Excel dan kemudian menyalinnya kembali. Buat spreadsheet dan tambahkan makro ini:

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

Jika Anda bermaksud menggunakan fitur ini secara teratur, tetapkan makro ke tombol pada bilah alat untuk memudahkan akses. Salin beberapa teks ke sel apa saja. Pastikan sel dipilih dan jalankan makro. Salin teks yang dihasilkan kembali ke Notepad ++.

Mengejutkan bahwa fitur sederhana ini tidak tersedia di Notepad ++ atau melalui plugin seperti TextFX.


1

Plugin BinHex versi 2.0 dari Notepad ++ memiliki fungsi String reverse diimplementasikan.

Anda dapat menandai string yang harus dibalik dan tekan Ctrl+ R.


0

Perpanjangan ide gor jika string Anda kurang dari sepuluh karakter:
Buat makro dari ini.
Sorot area yang diinginkan di N ++

Cari:

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

menggantikan:

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

ganti dalam pilihan: dicentang

N ++ hanya mendukung sepuluh grup, jadi itu saja yang Anda dapatkan, tetapi setidaknya itu hanya sepuluh huruf sekaligus.

Di luar topik, mesin regex IE berbeda dari yang diterima sehubungan dengan jenis regex ini, jadi ini mungkin dapat dilakukan di IE tanpa iterasi.


0
  1. Pilih teks untuk dibalik.
  2. Bagi menjadi beberapa baris dengan menggunakan jendela Ganti dengan Pilihan dan Ekspresi reguler dipilih untuk Ganti Semua (.) Dengan \ n \ 1
  3. Pilih teks lagi (karena alasan tertentu, karakter terakhir ditinggalkan dari seleksi setelah langkah 2).
  4. Gunakan jawaban untuk Urutan garis terbalik di Notepad ++ untuk membalikkan garis.
  5. Menggabungkan kembali garis-garis dengan menggunakan jendela Ganti dengan Dalam pilihan dan Diperpanjang dipilih untuk Ganti Semua \ n dengan string kosong.
  6. Anda mungkin perlu menghapus baris asing.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.