Замена символов в строке
Я пытаюсь заменить все экземпляры символа в строке текста другим символом, но я не преуспеваю.
Предположим, что текст
cat rat mat fat
Я хочу, чтобы сценарий заменил все t 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%
Ответы
Ответ 1
У вас есть знак =
в том месте. Пытаться:
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%!
Ответ 2
Попробуй это
setlocal
set string=cat rat mat fat
set string=%string:t=p%
Ответ 3
Вы можете использовать 'sed' следующим образом:
echo "cat rat mat fat" | sed 's/t/p/g' # outputs "cap rap map fap"