基于分隔字符检索可变长度子字符串

时间:2012-12-18 12:41:04

标签: batch-file dos

我正在尝试制作一个简单的命令来删除一个单词之后的所有内容,然后回显结果。

示例:

  

街道-CT-2a21340565364563563
  thiswouldbedifferent-β-3c63456345645635634
  andthiscouldbesomethingelse-WE-5d23453453634563456

删除所有期望的第一部分

类似的东西:

  

街道-CT-221340565364563563

会导致:

  

这不会保存在txt文件或其他任何内容中,是否可能?

1 个答案:

答案 0 :(得分:7)

编辑:假设您尝试提取的部分具有可变长度,这似乎是一个更好的解决方案:

set str=street-ct-2a21340565364563563
for /f "delims=-" %%a in ("%str%") do set part=%%a
echo.%part%

在该代码段中,只要发生“-”,我们就会拆分字符串,然后将拆分字符串的第一部分分配给“part”变量。有关如何使用for拆分字符串的其他示例,请参见here


根据this reference你可以这样做:

set str=street-ct-2a21340565364563563
set substr=%str:~0,6%
echo.%substr%