Bir dize başka bir dize bir alt dize ise elisp nasıl kontrol edilir?


25

Bir dize s1başka bir dize bir alt dize olup olmadığını kontrol nasıl s2?

Örneğin (test-substring "f t" "df tj") --> t, (test-substring "ft" "df tj") --> nil.

Yanıtlar:


36

Standart Emacs Lisp yaklaşımı düzenli ifade eşleşmesidir:

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

14

cl-search bunu yapabilir (ve ayrıca bulunursa, alt dizenin de dizinini döndürür):

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

1
Teşekkürler, bu doğru soruyu yanıtlar. Başka çözümler için bekleyeyim.
Adı
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.