elisp regexp de recherche dans les chaînes, pas de tampons
J'ai été à la recherche partout dans le emacs lisp de la documentation pour savoir comment les expressions régulières de recherche dans une chaîne de caractères. Tout ce que je trouve, c'est comment faire cela dans les tampons.
Est-il quelque chose que je suis absent? Dois-je juste cracher ma chaîne de caractères dans un tampon temporaire et de recherche pour l'-t-il? Est-ce juste le style de codage de elisp, quelque chose que je vais habituer? Est-il une solution à ce problème. La manipulation de tampons semble cludgy quand je devrais être en mesure de rechercher directement dans une variable déjà présents.
Vous devez vous connecter pour publier un commentaire.
Voici une discussion de la chaîne de contenu vs le contenu du tampon dans Emacs wiki. Stocker tout votre chaîne comme une variable.
La chose la plus délicate à propos des chaînes est que vous n'avez généralement pas de modifier la chaîne elle-même (sauf si vous effectuez les fonctions de tableau sur la chaîne, depuis une chaîne de caractères est un tableau, mais ce doit généralement être évitée), mais vous retourner la chaîne modifiée.
En tout cas, voici un exemple de l'aide d'une chaîne en elisp.
Ce sera couper les espaces de fin de chaîne:
La fonction que vous recherchez est
string-match
. Si vous avez besoin de faire la correspondance à plusieurs reprises, l'utilisation de l'indice auquel il renvoie, comme l'option "démarrer" paramètre pour le prochain appel. La documentation est dans le ELisp manuel, chapitre "Expression Régulière de la Recherche".À remplacer tous les regexp match dans une chaîne de prendre un coup d'oeil à
replace-regexp-in-string
.À la recherche du début d'une chaîne
À la recherche de la fin d'une chaîne