Wie prüfe ich in elisp, ob ein String ein Teilstring eines anderen Strings ist?


25

Wie überprüfe s1ich , ob eine Zeichenfolge eine Teilzeichenfolge einer anderen Zeichenfolge ist s2?

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

Antworten:


36

Der Standardansatz von Emacs Lisp ist die Suche nach regulären Ausdrücken:

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

14

cl-search kann das (und gibt auch den Index der Teilzeichenfolge zurück, falls gefunden):

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

1
Danke, das beantwortet die Frage richtig. Lassen Sie mich auf einige andere Lösungen warten.
Name
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.