我正在尝试用另一个字符替换文本字符串中一个字符的所有实例,但我没有成功。
假设文本是
cat rat mat fat
我希望脚本替换所有t's to p's
cap rap map fap
我所拥有的是以下内容,但它似乎对我没什么用。
SET /P MY_TEXT=ENTER TEXT:
SET T2P=P
SET NEW_TEXT=%TEXT=:T!T2P!%
MSG * %NEW_TEXT%
我正在尝试用另一个字符替换文本字符串中一个字符的所有实例,但我没有成功。
假设文本是
cat rat mat fat
我希望脚本替换所有t's to p's
cap rap map fap
我所拥有的是以下内容,但它似乎对我没什么用。
SET /P MY_TEXT=ENTER TEXT:
SET T2P=P
SET NEW_TEXT=%TEXT=:T!T2P!%
MSG * %NEW_TEXT%
Try this
setlocal
set string=cat rat mat fat
set string=%string:t=p%
你把=
标志放错地方了。尝试:
setlocal enabledelayedexpansion
set /P MY_TEXT=ENTER TEXT:
SET T2P=P
set NEW_TEXT=%MY_TEXT:T=!T2P!%
MSG * %NEW_TEXT%
您也可以反过来进行扩展,即
set NEW_TEXT=!MY_TEXT:T=%T2P%!
你可以像这样使用'sed':
echo "cat rat mat fat" | sed 's/t/p/g' # outputs "cap rap map fap"