Em Pascal, você pode selecionar parte de uma string (substring). Para isso, é utilizada a operação de cópia.
A forma geral da operação é a seguinte: s1 := copy(s, index, count); Este comando pega uma fatia da string s, começando no caractere no índice índice de contagem de comprimento.
Por exemplo, s1 := cópia(s, 3, 5); Se o índice for maior que o comprimento da string, uma string vazia será retornada. Se os caracteres de contagem, começando no índice, forem maiores que o comprimento da string, a string s será retornada, começando no índice e terminando.

E aqui está como é fácil inverter uma string: s := '0123456789'; s1 := reverseString(s); // s1 = '0123'

Para excluir parte de uma string, você precisa usar o método delete(s, firstIndex, count): ele remove caracteres count da string s, começando em primeiroÍndice s := '0123456789'; delete(s, 4, 6); // s1="0129"

Para copiar parte de uma string, você pode usar o método copy(s, index, count) - ele retornará uma parte da string s, começando em index index e comprimento contagem
 

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

Pascal tem muitas rotinas para trabalhar com strings.  Muitos deles são chamados usando a notação de ponto e são chamados de métodos. Uma lista completa de métodos de manipulação de strings pode ser encontrada online. 
Vamos conhecer alguns deles. s := 'aAbBcC' sUp := maiúscula(s); // sUp = "AABBCC" - um método que converte cada caractere de uma string para letras maiúsculas sLow := minúscula(s) // sLow = "aabbcc" - um método que converte cada caractere de uma string em minúsculo O método é sempre escrito entre parênteses. Existem alguns parâmetros dentro dos colchetes, caso sejam necessários.

Outro método útil  - val(s, v, ind) - método para verificar se todos os caracteres de uma string são dígitos. s - string de origem, v contém um número se a string de origem for um número e 0 caso contrário, ind contém o número do primeiro < strong> índice s que não é um dígito, ou 0 se s for um número. s := 'ab1c' val(s, v, ind); writeln(v, ' ', ind); // 0 3 s := '123'; val(s, v, ind); w(vriteln, ' ', ind); // 123 0 O útil método trim(s) - permite-lhe remover espaços no início e no fim de uma string s := ' ab 1c '; print('s=', corte(s)); // s=ab 1c

Para pesquisar dentro de uma string em Pascal, use o método pos().
Retorna o índice da 1ª ocorrência da substring na string:
pos(originalString, smallString) - procura em originalString smallString

Quando a substring não é encontrada, o método retorna 0:

bem-vindo := 'Olá mundo! Adeus mundo!'; index := pos(bem-vindo, 'trabalho'); writeln(índice); // 7 index := pos(bem-vindo, 'sol'); writeln(índice); // 0
Observação: esses métodos não procuram o número de ocorrências, mas apenas determinam se existe tal substring na string ou não .

Em Pascal, para substituir uma substring por outra em uma string, use o método stringReplace()
stringReplace(original, old, new, flag): originalString  substring old é substituído em novoflag é um dos valores rfReplaceAll ou rfIgnoreCase,  escrito entre colchetes. No primeiro caso, todas as ocorrências de old into originalString, no segundo, apenas a primeira.

Exemplo de substituição de string Pascal:
 

telefone = '+1-234-567-89-10' // hífens são alterados para espaços telefone_editado := stringreplace(telefone, '-', ' ', [rfReplaceAll]); writeln(edited_phone); // +1 234 567 89 10 // hífens são removidos telefone_editado := stringreplace(telefone, '-', '', [rfReplaceAll]); writeln(edited_phone); // +12345678910 // apenas o primeiro traço muda edited_phone := replace(telefone, '-', '', [rfIgnoreCase]); writeln(edited_phone); // +1234-567-89-10