有没有办法可以让我的程序在用户输入中搜索关键字? 例如,如果我输入"你好,你是谁?"它会告诉我说你好,并说你好。
答案 0 :(得分:1)
更灵活的方式(搜索多个单词(synonymes)的可能性) - 这里是“Hello”,“Hallo”和“Hi”(但不是“ Hallo ween”或“C 喜强> NA“):
set input=Hello, it's me
echo %input% |findstr /i "\<h[ae]llo\> \<hi\>" >nul && echo Hello back
set input=Hallo, it's me
echo %input% |findstr /i "\<h[ae]llo\> \<hi\>" >nul && echo Hello back
set input=Hi, it's me
echo %input% |findstr /i "\<h[ae]llo\> \<hi\>" >nul && echo Hello back
set input=it's Halloween
echo %input% |findstr /i "\<h[ae]llo\> \<hi\>" >nul && echo Hello back
最后一行没有输出,因为它只搜索整个单词。
请参阅findstr /?
以获取解释。
&&
的作用是“如果以前的命令(findstr)成功那么”(对面就是||
)
答案 1 :(得分:0)
试试这个:
@echo off
set /p "str=say something containing the word Hello "
if not "x%str:hello=%"=="x%str%" echo Hello, how may I help you?
pause
答案 2 :(得分:0)
更明确的方式:
@echo off
set input=
set /p input="Type some text : "
if "%input%"=="" (
echo You didn't type anything!
) else (
for %%a in (%input%) do (
if /i "%%a"=="Hello" (
echo Hello!
)
)
)