1

我正在 QBasic 中创建一个简单的聊天程序,它将根据用户输入中存在的一些特定关键词回答问题。因此,我需要一种在字符串中搜索子字符串(即特定单词)的方法。所以,请帮助我。

4

3 回答 3

6

要确定一个字符串是否包含某个(子)字符串,您可以这样做:

text$ = "nonsense !"
IF INSTR( text$, "sense" ) >= 1 THEN
  PRINT "This text makes sense !"
END IF

不,我无法对此进行测试,因为我的 PC 上不再有 QBasic ;-) 根据上面评论中的链接 >= 1 是可以的

于 2015-06-10T11:17:34.983 回答
3

我认为 INSTR 通常使用如下:

sent$ = "This is a sentence"

PRINT INSTR(1, sent$, "is")
PRINT INSTR(4, sent$, "is")
PRINT INSTR(1, sent$, "word")

第一个 PRINT 命令将打印一个“3”,因为句子中“is”的第一个位置位于位置 3。(“This”中的“is”)

第二个 PRINT 命令从位置 4 开始搜索(“This”中的“s”),因此在位置 6 找到“is”。因此它将打印“6”。

第三个 PRINT 命令将打印一个“0”,因为句子中没有“word”的实例。

于 2015-06-12T03:41:18.633 回答
2

计算字符串中子字符串的出现次数。

T$ = "text to be searched and to be displayed"
S$ = "to"
l = 1
DO
    x = INSTR(l, T$, S$)
    IF x THEN
        n = n + 1
        l = x + LEN(S$)
    ELSE
        EXIT DO
    END IF
LOOP
PRINT "text '"; S$; "' matches"; n; "times."
于 2016-08-05T23:21:06.057 回答