您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關批處理BAT如何實現替換與截取字符串,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
一、替換用法
例
代碼如下:
@echo off
set a=belcome to CMD borld!
set temp=%a:b=w%
echo %temp%
pause
將顯示 welcome to CMD world! 即用w替換了變量a中的b。
二、截取用法
字符串最前面的光標所在處表示第0位,第一個字符后面的光標所在表示第一位,依次類推。
為了更好的理解截取用法,下面給出了字符串superhero位數的相關示意圖:
s u p e r h e r o
0 1 2 3 …… -3 -2 -1 無表示
例
代碼如下:
@echo off
set a=superhero
set temp=%a:~0,5%
echo %temp%
pause
將顯示super 即顯示了變量a的第0位至第5位中包括的所有元素。
若如下
代碼如下:
@echo off
set a=superhero
set temp=%a:~3%
echo %temp%
pause
[html]
將顯示perhero 即顯示了變量a的第三位以后的所有字符。
若如下
[code]
@echo off
set a=superhero
set temp=%a:~-3%
echo %temp%
pause
將顯示ero 即顯示了變量a的倒數三個字符。
若如下
代碼如下:
@echo off
set a=superhero
set temp=%a:~0,-3%
echo %temp%
pause
將顯示superh 即顯示了變量a的第0位和第-3位中間包含的所有字符。
bat截取字符串實例
代碼如下:
@echo off
set str=123456789
echo 第一個字符為:%str:~0,1%
echo 頭兩個字符為:%str:~0,2%
echo 頭5個字符為:%str:~0,5%
echo 去掉最后一個字符后的字符串為:%str:~0,-1%
echo 去掉最后3個字符后的字符串為:%str:~0,-3%
echo 第4個字符為:%str:~3,1%
echo 第4個及其之后的3個字符為:%str:~3,4%
echo 最后一個字符為:%str:~-1%
echo 最后一個字符為:%str:~-1,1%
echo 最后兩個字符為:%str:~-1,2%
echo 倒數第4個字符為:%str:~-4,1%
echo 倒數第4個及其之后的字符為:%str:~-4%
echo 倒數第4個及其之后的1個字符為:%str:~-4,2%
echo 倒數第4個及其之后的2個字符為:%str:~-4,3%
pause
為了說明這個問題,我在這里把批處理取字符,做下進一步的解釋,希望對新手有所啟發
如下:
echo %var:~n,k%
我們在這里對每個參數做個說明:"%var",即我們要從中要截取字符的字符串." ~ "取字
符標志符(我是這么理解的),"n" 我們將其理解為指針,"k"我們將其理解為偏移地址.(注
:指針和偏移地址都是從零開始數的)
我們還是用namejm版主的例子做下說明:
代碼如下:
@echo off
set str=123456789
rem 定義一個str字符串為123456789
echo 第一個字符為:%str:~0,1%
rem 指針為0,偏移地址為1,即從第0位開始,取1位
echo 頭兩個字符為:%str:~0,2%
rem 指針為0,偏移地址為2,即從第0位開始,取2位
echo 頭5個字符為:%str:~0,5%
rem 指針為0,偏移地址為5,即從第0位開始,取5位
echo 去掉最后一個字符后的字符串為:%str:~0,-1%
rem 當"k"為負值時,我們可以這樣理解:從指針開始處開始取其后面所有字符,然后減去
后面"abs(k)位"..所以這個句字我們可以做如下解釋:從第0位開始取其全部字符
為:123456789然后從后面減去abs(k)位,所以最后結果為:12345678
echo 去掉最后3個字符后的字符串為:%str:~0,-3%
rem 該句解釋同上↑
echo 最后一個字符為:%str:~-1%
rem 參數"n,"和"k"都可以為缺省,缺省"n,"時可以理解為:從abs(k)位開始取其全部
echo 倒數第4個及其之后的字符為:%str:~-4%
rem 解釋同上↑
echo 最后一個字符為:%str:~-1,1%
rem n為負值時,表示從后面開始截取字符,取k位(此時n應從1開始數)
echo 最后一個字符為:%str:~-1,2%
rem 解釋同上↑
echo 倒數第4個字符為:%str:~-4,1%
rem 解釋同上↑
echo 倒數第4個及其之后的1個字符為:%str:~-4,2%
rem 解釋同上↑
echo 倒數第4個及其之后的2個字符為:%str:~-4,3%
rem 解釋同上↑
pause
關于“批處理BAT如何實現替換與截取字符串”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。