使用批处理脚本删除直到第一次出现字符的字符串

时间:2019-03-19 08:34:43

标签: string batch-file

我说的是变量

var="dev02,qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc"

我需要将其转换为

qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc

通过删除,首次出现之前的所有字符

如何使用批处理脚本执行此操作?

2 个答案:

答案 0 :(得分:4)

您可以做的是使用变量扩展和替换。

在这种情况下,鉴于您声明的变量内容为:

dev02,qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc

您可以简单地扩展变量,将所有内容替换为第一个逗号,直到没有任何内容为止:

Echo(%var:*,=%

要设置初始变量%var%,应将语法更改为此:

Set "var=dev02,qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc"

这将防止双引号包含在变量值中,防止意外尾随空格并保护内容。

答案 1 :(得分:2)

您可以在for上使用for /?循环(请参阅delimit,,然后对结果进行一些处理:

@set "var=dev02,qa02,stage,prod,dev02_loc,qa02_loc,stage_loc,prod_loc"
@for /f "tokens=1* delims=," %%i in ("%var%") do @echo(%%j