Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 批处理:将数字与字符分开_Windows_Batch File_Cmd - Fatal编程技术网

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

我想知道是否有人知道一种很好的方法来区分数字和字符,或者删除字符,这样它们就可以在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

如果需要在同一字符串中设置一个只有非数字的变量:




如果需要在同一字符串中设置一个只有非数字的变量:




您的示例显示了从“字符”中删除“数字”的输出,但您的问题要求从“数字”中删除“字符”;是哪一个?此外,您还提到了变量,这意味着您已经想到了一项任务,您是否可以共享它并发布您为执行该任务而编写的代码,但目前哪些代码没有这样做?除非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
适用)?