這篇文章將為大家詳細講解有關批處理如何實現字符串去空格,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
代碼如下:
@echo off
:: 去掉左空格
::
::
set "str= ab c&>! "
for /f "tokens=*" %%i in ("%str%") do echo "☆%%i☆"
pause
goto :eof
@echo off
:: 去掉左空格
::
::
set "str= ab c&>! "
:intercept
if "%str:~0,1%"==" " set "str=%str:~1%"&goto intercept
echo "☆%str%☆"
pause
goto :eof
@echo off
:: 去掉右空格
::
::
set "str= ab c&>! "
:intercept
if "%str:~-1%"==" " set "str=%str:~0,-1%"&goto intercept
echo "☆%str%☆"
pause
goto :eof
@echo off
:: 去掉首尾空格空格
::
::
set "str= ab c&>! "
:intercept_left
if "%str:~0,1%"==" " set "str=%str:~1%"&goto intercept_left
:intercept_right
if "%str:~-1%"==" " set "str=%str:~0,-1%"&goto intercept_right
echo "☆%str%☆"
pause
goto :eof
@echo off
:: 去掉所有空格空格
::
::
set "str= ab c&>! "
set "str=%str: =%"
echo "☆%str%☆"
pause
goto :eof
@echo %dbg% off
cls && echo. && echo.
:Redtek 2006 去左、右含有空格的變量試驗與另類方法實現演示
:: 為演示與另做它用方便,所以“標簽代碼段”內的代碼都可以獨立使用
::
set "var= My name is Redtek "
rem 注:下面 Call 中的參數是無引號的,利用參數以逗號空格等做為分隔的特性
call :去左側空格 %var%
echo. && echo.
call :去右側空格 "%var%"
rem 去字符串中的左、右空格
rem 為演示與另做它用的方便,下面步驟將重新編寫去左右空格的代碼段,可以獨立使用。
echo. && echo.
call :去兩邊空格 "%var%" %var%
goto :eof
:去左側空格
rem 利用替換原理,將變量 var 中 以 ^%1變量內容開頭字串的左邊一切替換為^1本身
rem 因為被 Call 過來以后,參數中的空格就全“丟了”(利用參數分隔的特性),
rem 所以,自然那個要被定位的 ^%1 左邊的空格也就全沒了。
call set "去左空格后的變量=%%var:*%1=%1%%
echo 原字符串: [%var%]
echo 去左側空格后的字符串: [%去左空格后的變量%]
goto :eof
:去右側空格
rem 將結果賦值給變量,這個變量可以隨便調用。
rem ~nx 是利用了“將變量擴展到一個文件名”的特性,
rem 既然是合法的文件名,當然文件名后面的空格是無效且無用的~:)
set 去右空格后的變量=%~nx1
echo 原字符串: [%var%]
echo 去右側空格后的字符串: [%去右空格后的變量%]
goto :eof
:去兩邊空格
rem 原理:先去左邊空格,再去右邊空格,相當于上面演示代碼的合用:)
rem 在假如沒有上面兩段去左和去右空格的代碼情況下,下面獨立演示:
set 去左右空格后的變量=%~nx1
call set "去左右空格后的變量=%%去左右空格后的變量:*%2=%2%%"
echo 原字符串: [%var%]
echo 去左右空格后的字符串: [%去左右空格后的變量%]
goto :eof
關于“批處理如何實現字符串去空格”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。