Saya menulis ekspresi reguler dengan harapan bahwa saya akan dapat mengganti setiap pertandingan (yang hanya satu karakter) ke karakter utama. Saya menggunakan EditPad Pro (namun saya bersedia menggunakan alat lain yang memungkinkan saya melakukan ini, asalkan bebas untuk mencoba, karena saya hanya perlu melakukan ini sekali saja).
Latar Belakang: Saya memiliki file teks yang sangat panjang yang digunakan oleh aplikasi case-sensitive, dan beberapa kata mulai dengan huruf kecil alih-alih huruf besar, sehingga aplikasi macet. Ini akan memakan waktu yang sangat lama untuk dilakukan dengan tangan, dan itu akan sangat rumit untuk dilakukan tanpa ekspresi reguler karena kemunculan char (jahat) huruf kecil sangat spesifik.
Saya telah menulis ekspresi reguler pilih dan sekarang saya dapat menggunakannya dengan backreference ($ 1 berfungsi dengan baik) namun saya tidak dapat membuatnya mengganti dengan huruf besar char. Saya pikir sesuatu seperti \ u $ 1 akan berfungsi, tetapi itu tidak ada di EditPad Pro.
Jika tidak ada alat gratis yang memungkinkan saya untuk melakukan ini, saya kira alternatifnya adalah hanya melakukannya di C # namun saya agak terburu-buru dan tidak dekat kompiler, jadi saya harus mengunduh edisi ekspres terlebih dahulu, jadi ... Akan lebih baik untuk menemukan alat yang mendukung fitur seperti itu!
Terima kasih!
Jawaban:
TextPad akan memungkinkan Anda untuk melakukan operasi ini.
contoh:
Temukan apa:
\([^ ]*\) \(.*\)
Ganti dengan:\U\1\E \2
itu
\U
akan menyebabkan semua karakter berikut berada di atasyang
\E
akan mematikan\U
hasilnya adalah:
sumber
ToUpper
)?\U$1\E
dalam Sublime Text\U\1\E
dalam Vim\L$1\E
bekerja.Saya tahu utas ini tentang EditPad Pro, tetapi saya datang ke sini karena saya memiliki kebutuhan yang sama dengan regexp javascript.
Untuk orang-orang yang ada di sini membutuhkan tip yang sama, Anda dapat menggunakan fungsi atau lambda sebagai argumen ganti.
Saya menggunakan fungsi di bawah ini untuk mengonversi nama css dengan
-
ke javascript yang setara, misalnya,"border-top"
akan diubah menjadi"borderTop"
:sumber
Sumber: Goyvaerts, Jan (2006). Ekspresi Reguler: Tutorial Lengkap . Lulu.com. hal. 35 . ISBN 1411677609. Google Buku. Diakses pada 25 Juni 2010.
sumber
Anda dapat melakukan ini di jEdit, dengan menggunakan opsi "Nilai pengembalian cuplikan BeanShell" di dialog temukan dan ganti jEdit. Cukup cari
" [a-z]"
dan ganti dengan" _0.toUpperCase()"
(tanpa tanda kutip)sumber
Anda juga dapat menggunakan huruf besar pada huruf pertama dari pertandingan menggunakan
\I1
dan\I2
sebagainya, bukan$1
dan$2
.sumber
Hanya contoh penggunaan lain untuk Notepad ++ (mode pencarian ekspresi reguler)
Contoh:
sumber