我正在用QBasic创建一个简单的聊天程序,该程序将根据用户输入中存在的一些特定关键字来回答问题,因此我需要一种方法来搜索字符串中的子字符串(即特定单词)。所以,请帮助我。
要确定字符串是否包含某个(子)字符串,您可以执行以下操作:
text$ = "nonsense !"
IF INSTR( text$, "sense" ) >= 1 THEN
PRINT "This text makes sense !"
END IF
不,我无法对此进行测试,因为我的PC上不再有QBasic;-)根据上面评论的链接>= 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。("这个"中的"是")
第二个 PRINT 命令从位置 4 开始搜索("This"中的"s"),因此在位置 6 处找到"is"。所以它会打印"6"。
第三个 PRINT 命令将打印"0",因为句子中没有"单词"的实例。
计算字符串中子字符串的出现次数。
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."