Notepad ++ Pindahkan teks antara tanda kurung ganda ke ujung garis untuk pola garis non standar


2

Jadi saya punya skrip, dengan garis yang dipisahkan oleh carriage return. Terkadang penulis mengacaukan dan meletakkan catatan (teks yang terdapat di dalam [[]]) di tengah atau awal baris ketika seharusnya berada di akhir. Karena ini bukan seragam, saya mengalami kesulitan menemukan cara untuk memindahkan catatan ini pada akhir baris yang muncul di dalam Notepad ++ secara otomatis, baik melalui makro atau menemukan regex & &; menggantikan.

Sederhananya, saya ingin cara otomatis dari ini:

hello [[emphasis]] my friends!
[[laugh]] how are you?

untuk:

hello my friends! [[emphasis]]
how are you? [[laugh]]

tidakkah kita membutuhkan "halo" di baris pertama?
msp9011

@ msp9011 woops, itu salah ketik. Anda benar
Deximus-Maximus

Apakah menggunakan excel untuk menyelesaikan hal ini diizinkan? || Jika bisa, Anda dapat menggabungkan MID (), FIND (), dan SUBSTITUTE () untuk mencapai ini.
p._phidot_

Jawaban:


0

Ini dapat dilakukan di Menggantikan dialog:

  • Temukan Apa = (?-s)(\[\[.*\]\])[\h]*(.*?)[\h]*$
  • Ganti dengan = $2 $1
  • Mode Pencarian = Ekspresi Reguler

Pada dasarnya, saya mencari [[...]] dan memasukkannya ke dalam $1, lalu semuanya setelah masuk $2. Ini kemudian menggantikan kedua sehingga $2 mengejar $1. Saya melakukan beberapa hal tambahan, seperti memastikannya diabaikan . matches newlines, yang seperti itu .* tidak akan membungkus garis

FYI: Jika Anda perlu mencari dan mengganti lebih lanjut ("pencocokan", "menandai", "bookmark", ekspresi reguler, "regex"), pelajari FAQ ini di Komunitas Notepad ++ dan dokumentasi yang ditunjuknya. Ini akan membantu Anda menggunakan ekspresi reguler di Notepad ++, dan akan membantu Anda memahami detail dari regex yang saya tulis.

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.