Nehmen wir an, ich habe einen Text wie den folgenden:
AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn) AC (nn)
Jetzt möchte ich das durch solche nn
Zahlen ersetzen
AC (0) AC (1) Wechselstrom (2) Wechselstrom (3) Wechselstrom (4) AC (5) Wechselstrom (6) Wechselstrom (7) Wechselstrom (8) Wechselstrom (9) Wechselstrom (10)
Ich habe M-x replace-regexp nn RET \# RET
das immer geschafft.
Fragen:
- Ich möchte die Ersatznummer starten, um von
1
anstatt von zu beginnen0
. Oder besser gesagt von einer bestimmten Zahl ausgehen25
. Wie soll ich den obigen Befehl ändern? - Wie zu ersetzen ,
nn
mit Ziffern wie001
,002
....998
,999
etc - ich mit führenden Nullen bedeuten
regular-expressions
replace
Prasanna
quelle
quelle
Antworten:
Allgemeine Technik
Ihre Ersatzzeichenfolge kann beliebigen Lisp-Code enthalten. Aus der Dokumentation zu replace-regexp :
Wir können diese Technik auf verschiedene Arten anwenden.
Ab
1
Was wir tun möchten, ist,
nn
durch eines mehr zu ersetzen, alsreplace-count
Sie verwendet haben\#
.Rufen Sie
#'replace-regexp
mit dem Argument\,(1+ \#)
:C-M-% nn \,(1+ \#)
ersetzt nn mit1
zuerst, dann2
,3
usw.Beginnt um
25
Sie können dies ändern, indem Sie nicht nur eine hinzufügen, sondern (in Ihrem Beispiel) 25:
C-M-% nn \,(+ 25 \#)
Führende Nullen
Oder wir können
format
führende Nullen hinzufügen. Dies wird ersetztnn
mit000
,001
,002
, etc. Sie andere Lisp - Code kombinieren können oben an beginnen001
,025
oder was auch immer Sie wollen.C-M-% nn \,(format "$03d" \#)
quelle
Sie können auch verwenden
cua-mode
.Wählen Sie die Rechteckregion (alle nn) und dann
M-x cua-rectangle-mark-mode
.Weiter
M-n
und akzeptieren Sie die Standardwerte.quelle