Dato una stringa, voglio sostituire tutti i collegamenti al suo interno con la descrizione del collegamento. Ad esempio, datoin emacs-lisp, come faccio a usare replace-regexp-in-string?
this is a [[http://link][description]]
Vorrei tornare
this is a description
ho usato ri-builder per costruire questo regexp per un collegamento:
\\[\\[[^\\[]+\\]\\[[^\\[]+\\]\\]
Questa è la mia funzione:
(defun flatten-string-with-links (string)
(replace-regexp-in-string "\\[\\[[^\\[]+\\]\\[[^\\[]+\\]\\]"
(lambda(s) (nth 2 (split-string s "[\]\[]+"))) string))
Invece di sostituire e l'intera sequenza regexp, sostituisce solo il trailing "]]". Questo è quello che produce:
this is a [[http://link][descriptiondescription
Non capisco cosa non va. Qualsiasi aiuto sarebbe molto apprezzato.
UPDATE: Ho migliorato la regex per il collegamento. È irrilevante per la domanda, ma se qualcuno lo copierà potrebbe anche ottenere la versione migliore.