bat-字符串分割


  • 相信大家都知道VBA中的Split函数,那么在bat中是否有类似的功能呢?


正文


  1. 已有一个txt文本:将进酒·君不见.txt
  2. txt中每一行进行分割,分割符采用.,,.
  3. 分别输出文本文件,观察不同分割符的效果
bat-字符串分割


代码


@echo off
for /f "delims=., tokens=2" %%i in (将进酒·君不见.txt) do echo %%i>>1.txt
for /f "delims=. tokens=2" %%i in (将进酒·君不见.txt) do echo %%i>>2.txt

代码截图

bat-字符串分割


结果文件

1.txt

bat-字符串分割


2.txt

bat-字符串分割

代码解读

  1. delims=.,,指定了分隔符,这里指定了.和,为分割符
  2. tokens=2,指定了分割后,取哪一个部分,分割后的第一部分为1,依次为2,3,4。
  3. 当省略delims参数,默认使用空格作为分割符;当省略tokens参数时,默认取第1部分for /f %%i in (将进酒·君不见.txt) do echo %%i>>3.txt

Ps:这里也指出之前写的一篇文章的错误,当一行中无空格时,for /f效果看起来就是逐行读出文本文件,但其实它就是读出空格分割后的第1部分


分享到:


相關文章: