如何在 DrScheme 中检查字符串是否包含给定的字符/子字符串?如果在模块中定义了适当的模块,该如何包含?
答案 0 :(得分:1)
在DrScheme中,假设语言设置为“模块”,以下内容将起作用
#lang scheme
(require (lib "13.ss" "srfi"))
(string-contains "1234abc" "abc")
答案 1 :(得分:0)
没有标准程序可以做到这一点。 SRFI 13包含您需要的过程(字符串索引)。请检查您的Scheme是否实现了此SRFI。
答案 2 :(得分:0)
这是一个快速的黑客攻击。它返回字符串t中字符串s的索引(基于0)。或#f如果找不到。如果您的Scheme有SRFI-13支持或其他内置支持,可能不是最好的方法。
代码已编辑。感谢Eli的建议。
(define (string-index s t)
(let* ((len (string-length s))
(max (- (string-length t) len)))
(let loop ((i 0))
(cond ((> i max)
#f)
((string=? s
(substring t i (+ i len)))
i)
(else (loop (+ i 1)))))))