En Pascal, vous pouvez sélectionner une partie d'une chaîne (sous-chaîne). Pour cela, l'opération de copie est utilisée.
La forme générale de l'opération est la suivante : s1 := copie(s, index, compte); Cette commande prend une tranche de la chaîne s, en commençant par le caractère à l'index index of length count.
Par exemple, s1 := copie(s, 3, 5); Si index est supérieur à la longueur de la chaîne, une chaîne vide est renvoyée. Si nombre de caractères, commençant à l'index, est plus long que la longueur de la chaîne, alors la chaîne s est renvoyée, commençant à l'index et se terminant.

Et voici à quel point il est facile d'inverser une chaîne : s := '0123456789'; s1 := chaîne(s) inverse(s); // s1 = '0123'

Pour supprimer une partie d'une chaîne, vous devez utiliser la méthode delete(s, firstIndex, count) : elle supprime les caractères count de la chaîne s, en commençant par premier indice s := '0123456789'; supprimer(s, 4, 6); // s1="0129"

Pour copier une partie d'une chaîne, vous pouvez utiliser la méthode copy(s, index, count) - elle renverra une partie de la chaîne s, en commençant à l'index index et la longueur comptent
 

s := '123456789'; s1 := copie(s, 3, 4); // s1 = '3456'

Pascal a de nombreuses routines pour travailler avec des chaînes.  Beaucoup d'entre elles sont appelées en utilisant la notation par points et sont appelées méthodes. Une liste complète des méthodes de manipulation de chaînes est disponible en ligne. 
Faisons connaissance avec certains d'entre eux. s := 'aAbBcC' sUp := majuscule(s); // sUp = "AABBCC" - une méthode qui convertit chaque caractère d'une chaîne en majuscule sLow := minuscule(s) // sLow = "aabbcc" - une méthode qui convertit chaque caractère d'une chaîne en minuscule La méthode est toujours écrite entre parenthèses. Il y a quelques paramètres entre parenthèses, s'ils sont nécessaires.

Une autre méthode utile  - val(s, v, ind) - méthode pour vérifier si tous les caractères d'une chaîne sont des chiffres. s - chaîne source, v contient un nombre si la chaîne source était un nombre, et 0 sinon, ind contient le numéro du premier < strong> index s qui n'est pas un chiffre, ou 0 si s est un nombre. s := 'ab1c' val(s, v, ind); writeln(v, ' ', ind); // 0 3 s := '123'; val(s, v, ind); w(vriteln, ' ', ind); // 123 0 La méthode utile trim(s) - vous permet de supprimer les espaces au début et à la fin d'une chaîne s := ' ab 1c '; print('s=', garniture(s)); // s=ab 1c

Pour rechercher dans une chaîne en Pascal, utilisez la méthode pos().
Elle renvoie l'index de la 1ère occurrence de la sous-chaîne dans la chaîne :
pos(originalString, smallString) - regarde dans originalStringsmallString

Lorsque la sous-chaîne est introuvable, la méthode renvoie 0 :

bienvenue := 'Bonjour tout le monde ! Au revoir le monde !" index := pos(bienvenue, 'wor'); écrireln(index); // 7 index := pos(bienvenue, "soleil"); écrireln(index); // 0
Veuillez noter : ces méthodes ne recherchent pas le nombre d'occurrences, mais déterminent uniquement s'il existe ou non une telle sous-chaîne dans la chaîne .

En Pascal, pour remplacer une sous-chaîne par une autre dans une chaîne, utilisez la méthode stringReplace() : 
stringReplace(original, old, new, flag) : originalString  la sous-chaîne old est remplacée sur nouveauflag est l'une des valeursrfReplaceAll ou rfIgnoreCase,  écrit entre crochets. Dans le premier cas, toutes les occurrences de old dans originalString, dans le second, uniquement la première.

Exemple de substitution de chaîne Pascal :
 

téléphone = '+1-234-567-89-10' // les traits d'union sont remplacés par des espaces edited_phone := stringreplace(phone, '-', ' ', [rfReplaceAll]); writeln(edited_phone); // +1 234 567 89 10 // les tirets sont supprimés edited_phone := stringreplace(phone, '-', '', [rfReplaceAll]); writeln(edited_phone); // +12345678910 // seul le premier tiret change edited_phone := replace(phone, '-', '', [rfIgnoreCase]); writeln(edited_phone); // +1234-567-89-10