文字列の一致部分を判定する - lisp-cookbook-ja/common-lisp GitHub Wiki

文字列 シーケンス

mismatchはふたつのシーケンスを比較して、最初から比較するときは一致しない最初の要素の位置を、最後から比較するときは一致した最後の要素の位置を返します。これを利用して、文字列がどこまで一致しているかを調べられます。

;; すべて一致するとnilを返す
(mismatch "foo" "foo")  ;=> NIL

;; 2文字目以前は一致する(3文字目以降が一致しない)
(mismatch "bar" "baz")  ;=> 2

;; 2文字目以前は一致しない(3文字目以降は一致する)
(mismatch "cddr" "cadr" :from-end t)    ;=> 2