【问题标题】:Retrieve a variable length substring based on a delimiting character根据分隔符检索可变长度子字符串
【发布时间】:2012-12-18 12:41:03
【问题描述】:

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

例子:

street-ct-2a21340565364563563
这将是不同的-ss-3c63456345645635634
这可能是别的东西-we-5d23453453634563456

删除除第一部分之外的所有内容

类似:

street-ct-221340565364563563

会导致:

街道

这不是保存在txt文件或任何东西中,有可能吗?

【问题讨论】:

  • substring using bat command 的可能重复项
  • 这似乎不是重复的,因为 OP 不需要一个固定的字符计数子字符串,而是一个基于定界字符的动态子字符串。

标签: batch-file dos


【解决方案1】:

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

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

在那个 sn-p 中,只要出现“-”,我们就拆分字符串,然后将拆分字符串的第一部分分配给“part”变量。有关如何使用for 拆分字符串的其他示例,请参见here


根据this reference,您可以这样做:

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

【讨论】:

  • 谢谢,我已经厌倦了。我忘了说每一行都不一样,所以不可能数一数。
  • 嘿!我知道这是一篇旧帖子,但我很好奇你为什么在最后一行的 echo 语句之后直接放一个 . ?它有什么作用?
  • 我不记得了,但我管理过to Google it :)
猜你喜欢
  • 2020-03-11
  • 2019-05-17
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-08
  • 1970-01-01
相关资源
最近更新 更多