Comment vérifier si une chaîne s1
est une sous-chaîne d'une autre chaîne s2
?
Par exemple (test-substring "f t" "df tj") --> t
,
(test-substring "ft" "df tj") --> nil
.
L'approche Emacs Lisp standard est la correspondance des expressions régulières:
(string-match-p (regexp-quote needle) haystack)
cl-search
peut le faire (et retourne également l'index de la sous-chaîne, s'il est trouvé):
ELISP> (cl-search "f t" "df tj")
1 (#o1, #x1, ?\C-a)
ELISP> (cl-search "ft" "df tj")
nil