我想知道如何比较字符串以进行部分匹配。例如,
看一句话中是否有“例子”这个短语,说“这是一个例子”?
答案 0 :(得分:3)
使用SRFI 13中的string-contains
:
> (require srfi/13)
> (string-contains "this is an example" "example")
11
> (string-contains "this is an example" "hexample")
#f
答案 1 :(得分:3)
在Racket中,这方面的一般机制是regular expressions:
(regexp-match "example" "this is an example")
=> '("example")
(regexp-match-positions "example" "this is an example")
=> '((11 . 18))
正则表达式是一种稍微复杂但非常强大的处理字符串的方法。您可以指定搜索字符串是否需要单独的单词,搜索重复模式或字符类。请参阅优秀的Racket doc。