0
我有這個字符串,稱爲str,它可能看起來像這個XinfoX。我想要一個使用批處理的命令,用這個符號代替'X'|'' (管道符號)。我已經嘗試過,但cmd不斷關閉/崩潰。用字符串批次中的管道替換符號
在此先感謝
我有這個字符串,稱爲str,它可能看起來像這個XinfoX。我想要一個使用批處理的命令,用這個符號代替'X'|'' (管道符號)。我已經嘗試過,但cmd不斷關閉/崩潰。用字符串批次中的管道替換符號
在此先感謝
使用變量編輯/替換見here的細節
set str=XinfoX
echo %str:X=^|%
C:\>echo %str:X=^|%
|info|
你的命令崩潰,因爲|
字符函數作爲管道運營商。但是,您想將其用作文字字符。角色必須被轉義或引用。
set str=XinfoY
:: using quotes
set "str=%str:X=|%"
:: using escape
set str=%str:Y=^|%
如果您的字符串包含引號,以致某些字符串被引用而有些不引用,則情況會變得複雜。解決方案是使用延遲擴展。
setlocal enableDelayedExpansion
set str="Xinfo1X"info2X
set "str=!str:X=|!"
你能發表你試過的代碼嗎? –
推測你正在嘗試類似'set var =%var:X = |%'。你應該顯示失敗的代碼。 – dbenham