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

时间:2015-06-10 11:11:45

标签: qbasic

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

3 个答案:

答案 0 :(得分:4)

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

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

不,我无法测试这个,因为我的PC上不再有QBasic ;-) 根据上面评论的链接> = 1是好的

答案 1 :(得分: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位。(''中的'是')

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

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

答案 2 :(得分:1)

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

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