Как проверить в elisp, является ли строка подстрокой другой строки?


25

Как проверить, является ли строка s1подстрокой другой строки s2?

Например (test-substring "f t" "df tj") --> t, (test-substring "ft" "df tj") --> nil.

Ответы:


36

Стандартный подход Emacs Lisp - сопоставление регулярных выражений:

(string-match-p (regexp-quote needle) haystack)

14

cl-search может сделать это (а также возвращает индекс подстроки, если найден):

ELISP> (cl-search "f t" "df tj")
1 (#o1, #x1, ?\C-a)
ELISP> (cl-search "ft" "df tj")
nil

1
Спасибо, это правильно отвечает на вопрос. Позвольте мне ждать некоторых других решений.
Имя
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.