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部分


分享到:


相關文章: