比较lisp中的字符串

moe*_*moe 0 lisp common-lisp

我正在尝试使用lisp检查另一个字符串中是否存在字符串.我尝试了以下方法:

    (string<=  "walk" "wall")
Run Code Online (Sandbox Code Playgroud)

它给出了:"3"

我需要做的是检查左侧(^ walk)的整个字符串是否在右侧(而不是子字符串),因此对于前面的示例,它应该给出false并且:

    (string<=  "walk" "walk on")
Run Code Online (Sandbox Code Playgroud)

它应该是真的或"4".

请帮忙.

提前致谢

jar*_*ond 6

在SBCL Common Lisp中

(search "walk" "wall") -> NIL
(search "walk" "walk on") -> 0
Run Code Online (Sandbox Code Playgroud)

因此0表示第一场比赛的索引.如果你想要第一场比赛的结束,你可以做到

(let ((pat "walk"))
  (+ (length pat) (search pat "walk on"))) -> 4
Run Code Online (Sandbox Code Playgroud)