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 forte> 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 novo, flag é 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
|