web-dev-qa-db-fra.com

Remplacement de caractères dans une chaîne

J'essaie de remplacer toutes les instances d'un caractère dans une chaîne de texte par un autre caractère mais je n'y parviens pas.

Supposons que le texte soit

cat rat mat fat

Je veux que le script remplace tous les t's to p's

cap rap map fap

Ce que j'ai, c'est ce qui suit, mais cela semble faire peu pour moi.

SET /P MY_TEXT=ENTER TEXT:

SET T2P=P

SET NEW_TEXT=%TEXT=:T!T2P!%

MSG * %NEW_TEXT%
18
ABANDOND ACOUNT

Vous avez le = signez au mauvais endroit. Essayer:

setlocal enabledelayedexpansion
set /P MY_TEXT=ENTER TEXT:
SET T2P=P
set NEW_TEXT=%MY_TEXT:T=!T2P!%
MSG * %NEW_TEXT%

Vous pouvez également faire l'extension dans l'autre sens, c'est-à-dire.

set NEW_TEXT=!MY_TEXT:T=%T2P%!
8
Grhm

Essaye ça

setlocal 
set string=cat rat mat fat
set string=%string:t=p%
16
Justin