En Pascal, puede seleccionar parte de una cadena (subcadena). Para ello se utiliza la operación de copia.
La forma general de la operación es la siguiente: s1 := copia(s, índice, cuenta); Este comando toma una porción de la cadena s, comenzando en el carácter en el índice índice de conteo de longitud.
Por ejemplo, s1 := copia(s, 3, 5); Si el índice es mayor que la longitud de la cadena, se devuelve una cadena vacía. Si los caracteres de conteo, comenzando en el índice, son más largos que la longitud de la cadena, entonces se devuelve la cadena s, comenzando en el índice y terminando.

Y así de fácil es invertir una cadena: s := '0123456789'; s1 := cadena(s) inversa(s); // s1 = '0123'

Para eliminar parte de una cadena, debe usar el método delete(s, firstIndex, count): elimina count caracteres de la cadena s, a partir de primerÍndice s := '0123456789'; borrar(s, 4, 6); // s1="0129"

Para copiar parte de una cadena, puede usar el método copy(s, index, count) - devolverá una parte de la cadena s, comenzando en el índice index y longitud recuento
 

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

Pascal tiene muchas rutinas para trabajar con cadenas.  Muchos de ellos se denominan usando notación de puntos y se denominan métodos. Puede encontrar una lista completa de métodos de manipulación de cadenas en línea. 
Vamos a familiarizarnos con algunos de ellos. s := 'aAbBcC' sUp := mayúscula(s); // sUp = "AABBCC" - un método que convierte cada carácter de una cadena a mayúsculas sLow := minúscula(s) // sLow = "aabbcc" - un método que convierte cada carácter de una cadena a minúsculas El método siempre se escribe entre paréntesis. Hay algunos parámetros entre paréntesis, si son necesarios.

Otro método útil  - val(s, v, ind) - método para comprobar si todos los caracteres de una cadena son dígitos. s: cadena de origen, v contiene un número si la cadena de origen era un número y 0 en caso contrario, ind contiene el número del primer < strong> índice s que no es un dígito, o 0 si s es un número. s := 'ab1c' val(s, v, ind); writeln(v, ' ', ind); // 0 3 s := '123'; val(s, v, ind); w(vriteln, ' ', ind); // 123 0 El útil método trim(s) - le permite eliminar espacios al principio y al final de una cadena s := ' ab 1c '; imprimir('s=', recortar(s)); // s=ab 1c

Para buscar dentro de una cadena en Pascal, use el método pos().
Ha devuelto el índice de la primera aparición de la subcadena en la cadena:
pos(cadenaoriginal, cadenapequeña) - busca en cadenaoriginal cadenapequeña

Cuando no se encuentra la subcadena, el método devuelve 0:

bienvenido := 'Hola mundo! ¡Adiós mundo!'; index := pos(bienvenido, 'trabajar'); writeln(índice); // 7 índice := pos(bienvenido, 'sol'); writeln(índice); // 0
Tenga en cuenta: estos métodos no buscan el número de ocurrencias, sino que solo determinan si existe una subcadena en la cadena o no. .

En Pascal, para reemplazar una subcadena con otra en una cadena, use el método stringReplace()
stringReplace(original, old, new, flag): originalString  substring old se reemplaza en nuevobandera es uno de los rfReplaceAll rfIgnoreCase, valores escrito entre corchetes. En el primer caso, todas las apariciones de antigua en originalString, en el segundo, solo la primera.

Ejemplo de sustitución de cadena en Pascal:
 

teléfono = '+1-234-567-89-10' // los guiones se cambian a espacios teléfono_editado := stringreplace(teléfono, '-', ' ', [rfReplaceAll]); writeln(teléfono_editado); // +1 234 567 89 10 // se eliminan los guiones teléfono_editado := stringreplace(teléfono, '-', '', [rfReplaceAll]); writeln(teléfono_editado); // +12345678910 // solo cambia el primer guión edited_phone := replace(phone, '-', '', [rfIgnoreCase]); writeln(teléfono_editado); // +1234-567-89-10