Windows CMD 分割字串 - Windows

By Suhail Hany
at 2015-12-25T01:30
at 2015-12-25T01:30
Table of Contents
※ 引述《wanzoo (Zoo)》之銘言:
: ※ [本文轉錄自 Programming 看板 #1MUudHkE ]
: 作者: wanzoo (Zoo) 看板: Programming
: 標題: [問題] Windows CMD 分割字串
: 時間: Thu Dec 24 13:59:42 2015
: 文字檔裡,每行的內容如下:
: 1A345_ABC_67890_XYZ_112233
: 32132_ABC_0983091_GJK_334455
: xxxxxxxx_ABC_yyy_RSF_556677
: 我想要取出 67890_XYZ 以及 0983091_GJK,以此類推。
: 請問有沒有最快的方法?
: 我試著先用 delims 分割字串,但發現 delims 後面只能指定「字元組合」,
: 而不是「完整字串」,
: 比如用下列指令來分割第一行:
: for /F "delims=_ABC_" %0 in (test.txt) do @echo %0
: 照理說要用"_ABC_"來分割成 1A345 及 67890_XYZ_112233。
: 但是,程式並不會以"_ABC_"來分割,而是以"_ABC_"裡能在第一行最先找到的字元來分割,
: 也就是會用"_ABC_"裡的"A"來把字串割成 1 跟 345_ABC_67890_XYZ_112233。
: 有解法嗎?
我其實看不太懂你要取什麼部分XD
但就你舉的例子"delims=_ABC_"跟"delims=_ABC"是一樣的
後面的_是多餘
delims意思是把_和A和B和C四種字元當成分割點
像第一行就會被分成1 345 67890 XYZ 112233五個區塊
如下圖
http://imgur.com/ZweDUYM
如果只是要把_ABC_當分割點取成兩部分的話
如下圖
http://imgur.com/82Bynyy
這樣就稍嫌複雜了
外面的FOR先抓完整的句子
拿到另一個FOR去處理
其中!var:_ABC_=@!是為了把_ABC_換成@好讓delims將_ABC_識別為一個切割點
就可以將整句分成兩部分
似乎有別的指令可以處理這種
但如果是用FOR來處理大概也就這樣了
更好的方法還是得請高手不吝嗇指教一下
--
: ※ [本文轉錄自 Programming 看板 #1MUudHkE ]
: 作者: wanzoo (Zoo) 看板: Programming
: 標題: [問題] Windows CMD 分割字串
: 時間: Thu Dec 24 13:59:42 2015
: 文字檔裡,每行的內容如下:
: 1A345_ABC_67890_XYZ_112233
: 32132_ABC_0983091_GJK_334455
: xxxxxxxx_ABC_yyy_RSF_556677
: 我想要取出 67890_XYZ 以及 0983091_GJK,以此類推。
: 請問有沒有最快的方法?
: 我試著先用 delims 分割字串,但發現 delims 後面只能指定「字元組合」,
: 而不是「完整字串」,
: 比如用下列指令來分割第一行:
: for /F "delims=_ABC_" %0 in (test.txt) do @echo %0
: 照理說要用"_ABC_"來分割成 1A345 及 67890_XYZ_112233。
: 但是,程式並不會以"_ABC_"來分割,而是以"_ABC_"裡能在第一行最先找到的字元來分割,
: 也就是會用"_ABC_"裡的"A"來把字串割成 1 跟 345_ABC_67890_XYZ_112233。
: 有解法嗎?
我其實看不太懂你要取什麼部分XD
但就你舉的例子"delims=_ABC_"跟"delims=_ABC"是一樣的
後面的_是多餘
delims意思是把_和A和B和C四種字元當成分割點
像第一行就會被分成1 345 67890 XYZ 112233五個區塊
如下圖
http://imgur.com/ZweDUYM
如果只是要把_ABC_當分割點取成兩部分的話
如下圖
http://imgur.com/82Bynyy
這樣就稍嫌複雜了
外面的FOR先抓完整的句子
拿到另一個FOR去處理
其中!var:_ABC_=@!是為了把_ABC_換成@好讓delims將_ABC_識別為一個切割點
就可以將整句分成兩部分
似乎有別的指令可以處理這種
但如果是用FOR來處理大概也就這樣了
更好的方法還是得請高手不吝嗇指教一下
--
Tags:
Windows
All Comments
Related Posts
請問MS-DOS Phase out了

By Zora
at 2015-12-25T00:02
at 2015-12-25T00:02
如何將IE升到最新

By Regina
at 2015-12-24T23:17
at 2015-12-24T23:17
升win10後,office 2003可否使用?

By Jack
at 2015-12-24T21:23
at 2015-12-24T21:23
ComSpec在 Win10 環境變數 的路徑

By Tom
at 2015-12-24T19:52
at 2015-12-24T19:52
kkbox的下載音樂路徑

By Kama
at 2015-12-24T15:07
at 2015-12-24T15:07