Windows 批处理:将数字与字符分开
我想知道是否有人知道一种很好的方法来区分数字和字符,或者删除字符,这样它们就可以在Windows中只使用批处理存储在变量中,所以看起来像下面这样 输入:Windows 批处理:将数字与字符分开,windows,batch-file,cmd,Windows,Batch File,Cmd,我想知道是否有人知道一种很好的方法来区分数字和字符,或者删除字符,这样它们就可以在Windows中只使用批处理存储在变量中,所以看起来像下面这样 输入: 1A 12B 16BA 16BB 31C SET test=016BA FOR /F "delims=0,1,2,3,4,5,6,7,8,9" %%G IN ("%test%") DO SET position=%%G echo Position: %position% pause 输出: A B BA BB C Position: BA
1A
12B
16BA
16BB
31C
SET test=016BA
FOR /F "delims=0,1,2,3,4,5,6,7,8,9" %%G IN ("%test%") DO SET position=%%G
echo Position: %position%
pause
输出:
A
B
BA
BB
C
Position: BA
我想我可能已经找到了我要找的东西 输入:
1A
12B
16BA
16BB
31C
SET test=016BA
FOR /F "delims=0,1,2,3,4,5,6,7,8,9" %%G IN ("%test%") DO SET position=%%G
echo Position: %position%
pause
输出:
A
B
BA
BB
C
Position: BA
我想我可能已经找到了我要找的东西 输入:
1A
12B
16BA
16BB
31C
SET test=016BA
FOR /F "delims=0,1,2,3,4,5,6,7,8,9" %%G IN ("%test%") DO SET position=%%G
echo Position: %position%
pause
输出:
A
B
BA
BB
C
Position: BA
如果需要在同一字符串中设置一个只有非数字的变量:
如果需要在同一字符串中设置一个只有非数字的变量:
您的示例显示了从“字符”中删除“数字”的输出,但您的问题要求从“数字”中删除“字符”;是哪一个?此外,您还提到了变量,这意味着您已经想到了一项任务,您是否可以共享它并发布您为执行该任务而编写的代码,但目前哪些代码没有这样做?除非yoiu能够做到这一点,否则您的问题将被视为直接的代码请求,这在StackOverflow上是离题的。谢谢。请发布一些您的工作/代码,然后只有我们可以帮助您。您的示例显示了从“字符”中删除“数字”的输出,但您的问题要求从“数字”中删除“字符”;是哪一个?此外,您还提到了变量,这意味着您已经想到了一项任务,您是否可以共享它并发布您为执行该任务而编写的代码,但目前哪些代码没有这样做?除非yoiu能够做到这一点,否则您的问题将被视为直接的代码请求,这在StackOverflow上是离题的。谢谢。请发布您的一些努力/代码,只有我们可以帮助您。关闭但不正确,将循环选项更改为
delims=0123456789
(否则,
也是分隔符;添加eol=0
将进一步避免默认的eol
字符;
);并考虑应该发生什么事情,如<代码> 12AB3C4DE5< /代码>;您想返回AB3C4DE5
(因此添加循环选项tokens=*
),还是只返回AB
(不使用任何循环选项,因此默认的tokens=1
适用)?关闭但不正确,将循环选项更改为delims=0123456789
(否则,<代码>,<代码>也是一个定界符;添加<代码> EOL=0 < /代码>将进一步避免默认的代码“EOL 字符<代码>;<代码> >;并考虑应该发生什么事情,如<代码> 12AB3C4DE5< /COD>;是否要返回<代码> AB3C4DE5< /代码>(因此,添加循环选项<代码>令牌=*<代码> >,或只是<代码> Ab<代码> >(不要使用任何循环选项,因此默认的tokens=1
适用)?