Bagaimana cara memeriksa elisp jika string adalah substring dari string lain?

25

Bagaimana cara memeriksa apakah suatu string s1merupakan substring dari string lain s2?

Misalnya (test-substring "f t" "df tj") --> t, (test-substring "ft" "df tj") --> nil.

Nama
sumber

Jawaban:

36

Pendekatan standar Emacs Lisp adalah pencocokan ekspresi reguler:

(string-match-p (regexp-quote needle) haystack)
lunaryorn
sumber
14

cl-search dapat melakukan itu (dan juga mengembalikan indeks substring, jika ditemukan):

ELISP> (cl-search "f t" "df tj")
1 (#o1, #x1, ?\C-a)
ELISP> (cl-search "ft" "df tj")
nil
legoscia
sumber
1
Terima kasih, ini menjawab pertanyaan dengan benar. Biarkan saya menunggu beberapa solusi lain.
Nama