因此,我正在尝试创建一个搜索引擎,当您输入搜索字符串时,请用“ +”替换空格,如果有人指出我可以使用哪些命令来实现这一点,将很有帮助。
到目前为止,我还没有发现任何有相同问题的人,这就是为什么我将其发布在这里。我发现someone具有一种检测变量中空格的方法:
if not "%VAR%"=="%VAR: =%"
但无法替换它们。
有任何提示吗?
P.S .:请不要向我推荐PowerShell或其他脚本语言/方法,就像我看到的一些人一样,我有使用批处理的理由,并且我会坚持下去。
答案 0 :(得分:0)
所以让我解释一下替换是如何工作的。
set "var=This is a line with spaces"
set "var=%var: =+%"
echo %var%
在第二个set
中,我们再次从set var
到%var%
,但是我们使用空格替换。从:
到=
的所有内容都是搜索功能,从=
到%
的所有内容都是替换功能。因此,%var: =+%
意味着找到所有空间并替换为+
,因此上述代码的结果将是:
This+is+a+line+with+spaces
显然,该变量可以多次操作:
set "var=This is a line with spaces"
set "var=%var: =+%"
set "var=%var:spaces=pluses%
echo %var%
您还可以使用替换来进行比较,而无需使用set
进行替换:
set "var=This is a line with spaces"
if /i "%var: =+%"=="This+is+a+line+with+spaces" echo Matched!
我建议您通过从cmdline运行set /?
阅读帮助。