Я создаю простую программу чата в QBasic, которая будет отвечать на вопросы, основываясь на некоторых ключевых словах, присутствующих в пользовательском вводе. Поэтому мне нужен способ поиска суб string (т.е. конкретное слово) внутри строки. Итак, пожалуйста, помогите мне.Как найти подстроку в строке в QBasic
ответ
Чтобы узнать, если строка содержит определенное (суб) строку, вы можете сделать это:
text$ = "nonsense !"
IF INSTR(text$, "sense") >= 1 THEN
PRINT "This text makes sense !"
END IF
И нет, я не был в состоянии проверить это, как больше не QBasic на мой PC ;-) по ссылке с комментарием выше> = 1 нормально
Я работаю, и даже нет необходимости использовать> = 1, пока это слово не будет повторяться более одного раза –
@NilakshSingh это хорошие новости. Итак, теперь вы можете принять один из ответов ;-) – Marged
Я думаю, INSTR обычно используется следующим образом:
sent$ = "This is a sentence"
PRINT INSTR(1, sent$, "is")
PRINT INSTR(4, sent$, "is")
PRINT INSTR(1, sent$, "word")
первая команда PRINT будет печатать «3», так как первое место «есть» в предложении находится в позиции 3. («Это» в «Это»)
Вторая команда PRINT начинает поиск в позиции 4 («s» в «Это») и поэтому находит «is» в позиции 6. Таким образом, он напечатает «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."
Подсчитывает вхождения строки в строке. – eoredson
Это может быть полезно. Благодаря! –
вы должны разместить код у вас есть уже ... – Marged
Посмотреть http://www.garybeene.com/qbasic/qb-tutor-strings.htm и искать инстр. –
Эта ссылка описывает INSTR в QB64: http://www.qb64.net/wiki/index.php/INSTR – eoredson