在文本文件中查找字符串,将字符串后的数据替换为下一个逗号字符

时间:2015-12-04 11:27:45

标签: regex batch-file replace find

我有一个文本文件" info.txt"包含各种字符串。 我想找到第一次出现的字符串'" masterstring":' 在'" masterstring"之后更换所有内容:'用"替换数据文本"但直到下一个逗号, 使用.bat脚本执行此操作的最快方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以编写.VBS脚本来执行此操作,但更容易使用JScript,因为Batch和JScript代码可以组合在具有.BAT扩展名的相同混合文件中。我在this post复制了解决方案,并为此请求略微修改了它。

@set @a=0  /*
@cscript //nologo //E:JScript "%~F0" < input.txt > output.txt
@goto :EOF */

WScript.Stdout.Write(WScript.StdIn.ReadAll().replace(/masterstring.*,/,"masterstring replacement data text,"));

您尚未发布示例数据,因此我创建了一个简单的输入文件:

First line in data file.
First line with masterstring and data to be replaced, preserve text after comma.
Other line with masterstring and other data, that must not be changed.
Last line in file.

这是输出:

First line in data file.
First line with masterstring replacement data text, preserve text after comma.
Other line with masterstring and other data, that must not be changed.
Last line in file.

有关此方法的更多详细信息,请参阅上面的链接以及该帖子中的链接。您也可以在此站点中搜索“jscript replace”和“{jscript hybrid”以及batch-file标记。