.bat文件使用通配符查找和删除部分字符串

时间:2014-04-15 23:35:32

标签: javascript batch-file

我有一堆DIV,其中包含太多信息。我想在文本文件中搜索DIV,然后删除DIV的后半部分。

事情是DIV都是独一无二的(但从同样的事情开始),结局都是独一无二的。

这是一个例子;

 @echo off
 setlocal enabledelayedexpansion
 set string=<div id="zip?????">              
 set "find=<div id="zip?????*">"             
 call set delete=%%string:!find!=%%
 call set string=%%string:!delete!=%%
 echo %string%

这就是DIV的样子:          div id =“zip75001 Addison 3296129 -9683751”&gt; 这就是我想要的样子:          div id =“zip75001”&gt;

“ZIP”IN“ZIP ID”之后的所有数字,例如id =“zip #####”将是唯一的(我想保留那些)以及邮政编码之后的所有内容,例如Addison 3296129 -9683751(空格,城市名称,Lat和Long)我想删除。请注意,这些都是独一无二的。

1 个答案:

答案 0 :(得分:0)

您可以使用!,但必须设置ENABLEDELAYEDEXPANSION开关。

setlocal ENABLEDELAYEDEXPANSION
set word=table
set str="jump over the chair"
set str=%str:chair=!word!%

或者您可以使用以下小技巧:

set word=table
set str="jump over the chair"
call set str=%%str:chair=%word%%%
echo %str%

那里的调用会导致另一层变量扩展,因此必须引用原始的%符号,但最终都会解决。