Récupérer la sous-chaîne dans le script Batch
La chaîne est un tableau de caractères et la sous-chaîne est une partie spécifique de la chaîne. Parfois, nous devons récupérer des sous-chaînes à diverses fins, comme la correspondance ou la recherche de sous-chaînes spécifiques.
Cet article abordera les méthodes de la chaîne pour obtenir une sous-chaîne.
Récupérer la sous-chaîne d’une chaîne dans un script Batch
Nous devons suivre ces formats généraux pour récupérer des caractères spécifiques à partir d’une variable de chaîne.
%VARIABLE:~START_INDEX%
or
%VARIABLE:~START_INDEX,END_INDEX%
Le START_INDEX
est une valeur numérique indiquant le point de départ de la chaîne. Vous pouvez utiliser des nombres négatifs, mais un nombre négatif comptera à rebours à partir du point de fin de la chaîne.
Le END_INDEX
est une valeur numérique indiquant le point de fin de la chaîne. Vous pouvez utiliser des nombres négatifs, mais un nombre négatif comptera à rebours à partir du point de fin de la chaîne.
N’oubliez pas que l’indexation commence à partir de 0
et non de 1
.
Dans l’exemple suivant, nous allons déclarer une variable chaîne contenant des caractères numériques et alphabétiques. Nous allons récupérer les caractères numériques et alphabétiques de la chaîne en tant que sous-chaîne.
Batch Script :
@echo off
SET testString=abcdefgh123456789
SET numericChars=%testString:~8,16%
SET normalChars=%testString:~0,7%
ECHO Numeric characters: %numericChars% Alphabetic characters: %normalChars%
Dans ce code de 1ère ligne (SET testString=abcdefgh123456789
), nous avons déclaré une variable nommée testString
et lui avons attribué des caractères numériques et alphabétiques.
Dans ce code de 2ème ligne (SET numericChars=%testString:~8,16%
), nous récupérons la partie caractère numérique de la chaîne, qui est 123456789
, et attribuons le résultat à une variable nommée numericChars
. L’indice de début est 8
et l’indice de fin est 16
.
3ème ligne de code(SET normalChars=%testString:~0,7%
), nous avons récupéré la partie caractère alphabétique de la chaîne abcdefgh
et assigné le résultat à une variable nommée normalChars
. L’indice de début est 0 et l’indice de fin est 7.
Nous avons imprimé nos résultats avec cette dernière ligne de code (ECHO Numeric characters: %numericChars% Alphabetic characters: %normalChars%
).
Production:
Numeric characters: 123456789 Alphabetic characters: abcdefg
N’oubliez pas que l’exemple ici est écrit à l’aide de Batch Script et ne fonctionne que dans un environnement Windows CMD.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn