2015-06-10 165 views
1

我正在QBasic中創建一個簡單的聊天程序,它將基於用戶輸入中存在的某些特定關鍵字來回答問題。因此,我需要一種方法來搜索子字符串中的字符串(即一個特定的單詞)。 所以,請幫助我。如何在QBasic中搜索字符串中的子字符串

+2

你應該張貼你已經有代碼... – Marged

+3

見http://www.garybeene.com/qbasic/qb-tutor-strings.htm,尋找原音樂器 –

+1

此鏈接描述QB64中的INSTR:http://www.qb64.net/wiki/index.php/INSTR – eoredson

回答

4

要找出一個字符串中包含一定的(子)字符串,你可以這樣做:

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

,不,我不能對此進行測試,作爲一個不再有QBasic的我PC ;-) 根據來自上述> = 1的評論的鏈接是確定

+1

我的工作,甚至沒有必要使用> = 1,直到該單詞重複多次 –

+1

@NilakshSingh這是個好消息。所以,現在你可以接受其中的一個答案;-) – Marged

3

我認爲INSTR通常使用如下:

sent$ = "This is a sentence" 

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

第一打印命令將打印「3」,因爲(在'This'中的'is')

第二個PRINT命令開始在位置4('This'中的's')搜索,並且所以在位置6找到「是」。所以它會打印'6'。

第三個PRINT命令將打印一個'0',因爲句子中沒有「單詞」的實例。

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

計算字符串中子字符串的出現次數。 – eoredson

+0

這可能有幫助。謝謝! –