Board logo

标题: [文本处理] 批处理for命令如何以指定字符划分/分割字符串并输出每个字段? [打印本页]

作者: shootman2    时间: 2016-6-13 23:43     标题: 批处理for命令如何以指定字符划分/分割字符串并输出每个字段?

本帖最后由 pcl_test 于 2016-6-14 00:36 编辑

一个字符串 123 456 789 111 ,可通过如下代码按空格分隔后打印
for %%x in (123 456 789 111) do echo %%x
123
456
789
111
如果将空格替换成#后,该如何循环打印
for %x in (123#456#789#111) do echo %x
作者: pcl_test    时间: 2016-6-14 00:29

1、#替换成空格/;/,/=再输出
2、遍历字符,遇到#则输出换行
3、vbs/js/powershell
4、第三方
作者: codegay    时间: 2016-6-14 00:43

python大x法好。
作者: GNU    时间: 2016-6-14 08:34

for %%x 会把 (123 456 789 111) 当做4个文件来处理,而不是把它当做一个字符串。
改成 123#456#789#111 之后就没有办法利用 for %x 的这个特性了,需要想别的办法。
  1. for /f "tokens=1-4 delims=#" %a in ("123#456#789#111") do (echo %a & echo %b & echo %c & echo %d)
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2