如何在 QBasic 中的字符串中搜索子字符串

how to search for a sub string within a string in QBasic

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

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

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

不,我无法测试这个,因为我的电脑上不再有 QBasic ;-) 根据上面评论中的 link >= 1 是可以的

我觉得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" 的实例。

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

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."