Katakanlah saya memiliki teks seperti di bawah ini:
AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn)
Sekarang saya ingin mengganti nn
dengan angka seperti itu
AC (0) AC (1) AC (2) AC (3) AC (4) AC (5) AC (6) AC (7) AC (8) AC (9) AC (10)
Saya biasa M-x replace-regexp nn RET \# RET
menyelesaikan ini.
Pertanyaan:
- Saya ingin memulai nomor pengganti untuk memulai dari
1
daripada dari0
. Atau lebih tepatnya mulai dari angka yang ditentukan katakan25
. Bagaimana saya harus memodifikasi perintah di atas? - Bagaimana cara mengganti
nn
dengan angka seperti001
,002
....998
,999
dll - Maksud saya dengan nol di depan
regular-expressions
replace
Prasanna
sumber
sumber
Jawaban:
Teknik umum
String pengganti Anda dapat berisi kode pelat acak. Dari dokumentasi untuk replace-regexp :
Kita dapat menggunakan teknik ini dalam beberapa cara.
Mulai dari
1
Yang ingin kami lakukan adalah mengganti
nn
dengan yang lebih banyak dari yangreplace-count
Anda gunakan sebelumnya\#
.Panggil
#'replace-regexp
dengan argumen\,(1+ \#)
:C-M-% nn \,(1+ \#)
akan menggantikan nn dengan1
pertama, kemudian2
,3
, dllMulai dari
25
Anda dapat memodifikasi ini dengan tidak hanya menambahkan satu, tetapi (dalam contoh Anda) 25:
C-M-% nn \,(+ 25 \#)
Nol terkemuka
Atau kita bisa gunakan
format
untuk menambahkan angka nol di depan. Ini akan menggantikannn
dengan000
,001
,002
, dll Anda dapat menggabungkan kode pelat lainnya di atas untuk mulai001
,025
atau apa pun yang Anda inginkan.C-M-% nn \,(format "$03d" \#)
sumber
Anda juga bisa menggunakan
cua-mode
.Pilih persegi panjang région (semua nn) dan kemudian
M-x cua-rectangle-mark-mode
.Selanjutnya,
M-n
dan terima nilai default.sumber