比较 lisp 中的字符串
Compare strings in lisp
我正在尝试使用 lisp 检查一个字符串是否存在于另一个字符串中。我尝试了以下方法:
(string<= "walk" "wall")
它给出:“3”
我需要做的是检查左侧 (^walk) 中的整个字符串是否在右侧(不是子字符串),因此对于前面的示例,它应该给出 false 和:
(string<= "walk" "walk on")
应该为真或“4”。
请帮忙。
提前致谢
在 SBCL Common Lisp 中
(search "walk" "wall") -> NIL
(search "walk" "walk on") -> 0
因此0
表示第一个匹配项的索引。如果你想第一场比赛结束你可以做
(let ((pat "walk"))
(+ (length pat) (search pat "walk on"))) -> 4
根据您的意见,您正在寻找字符串前缀。 Common Lisp 的习语是 (string= pattern haystack :end2 (length pattern))
.
我正在尝试使用 lisp 检查一个字符串是否存在于另一个字符串中。我尝试了以下方法:
(string<= "walk" "wall")
它给出:“3”
我需要做的是检查左侧 (^walk) 中的整个字符串是否在右侧(不是子字符串),因此对于前面的示例,它应该给出 false 和:
(string<= "walk" "walk on")
应该为真或“4”。
请帮忙。
提前致谢
在 SBCL Common Lisp 中
(search "walk" "wall") -> NIL
(search "walk" "walk on") -> 0
因此0
表示第一个匹配项的索引。如果你想第一场比赛结束你可以做
(let ((pat "walk"))
(+ (length pat) (search pat "walk on"))) -> 4
根据您的意见,您正在寻找字符串前缀。 Common Lisp 的习语是 (string= pattern haystack :end2 (length pattern))
.