Làm thế nào để kiểm tra elisp nếu một chuỗi là một chuỗi con của một chuỗi khác?


25

Làm thế nào để kiểm tra xem một chuỗi s1có phải là một chuỗi con của một chuỗi khác s2không?

Ví dụ (test-substring "f t" "df tj") --> t, (test-substring "ft" "df tj") --> nil.

Câu trả lời:


36

Cách tiếp cận Lisp tiêu chuẩn của Emacs là khớp biểu thức chính quy:

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

14

cl-search có thể làm điều đó (và cũng trả về chỉ mục của chuỗi con, nếu tìm thấy):

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

1
Cảm ơn, điều này trả lời chính xác câu hỏi. Hãy để tôi chờ đợi một số giải pháp khác.
Tên
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.