如何比较球拍中的部分字符串匹配?

时间:2014-01-21 17:30:04

标签: scheme racket

我想知道如何比较字符串以进行部分匹配。例如,

看一句话中是否有“例子”这个短语,说“这是一个例子”?

2 个答案:

答案 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。