Contenido principal
Principios de ciencias de la computación avanzados (AP Computer Science Principles)
Operaciones con cadenas
Los programas de computadora no solo almacenan cadenas, también las manipulan. Con operaciones de cadenas, podemos cortarlas, añadirlas, o transformar cadenas de muchas maneras.
Combinar cadenas
Nos encanta inventar nueva jerga en el campo de programación de computadoras. Una palabra que probablemente nunca has usado antes es concatenación, y es nuestra forma elegante de describir cómo combinamos cadenas.
Así se ve la concatenación de cadenas en JavaScript:
var name = "Winston";
var greeting = "Hello, " + name;
La variable
greeting
almacena el resultado de la concatenación de dos cadenas; hace un cadena de dos cadenas.Podemos concatenar cualquier número de cadenas:
var name = "Winston";
var title = "Sir";
var greeting = "Hello, " + title + name;
Observa que concatenamos cadenas entre comillas con variables. Llamamos a estas cadenas literales, que son literalmente una cadena, mientras que las variables representan una cadena.
✏️ El siguiente programa muestra el resultado de ese código. ¿Obervas algo que no está bien? ¿Puedes arreglarlo?
Cortar una cadena en subcadenas
También podemos hacer lo contrario de concatenar: podemos cortar una cadena y almacenar ese corte. Llamamos a eso una subcadena.
Una forma de cortar en JavaScript es con el procedimiento
substr()
. Se necesitan dos parámetros: posición de inicio y longitud. Para usarlo, llamamos al procedimiento sobre la cadena misma:"Harry Potter".substr(0, 5);
En JavaScript y en la mayoría de los lenguajes, la primera posición en la cadena es el índice 0. Visualicemos los índices de esta cadena:
H | a | r | r | y | P | o | t | t | e | r | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Esa línea de código comienza en el índice 0, "H", y devuelve la cadena de 5 caracteres de longitud, "Harry".
Un error de índice inválido es un tipo común de error lógico que puede ocurrir cuando se trata con índices y se utiliza accidentalmente un índice demasiado alto o bajo. Cualquiera que sea el lenguaje y el comando que se utilice, asegúrate de entender exactamente cómo funciona ese comando, y siempre comprueba su salida.
✏️ El siguiente programa almacena múltiples subcadenas de una cadena (un número de teléfono). Intenta editar el código para almacenar una tercera subcadena (el número de extensión).
Otras operaciones con cadenas
Combinar y cortar cadenas son solo dos maneras de manipular variables de cadenas. Dependiendo de lo que intentes hacer en tu programa, puedes querer modificar las cadenas de otras maneras.
Aquí hay una lista corta de operaciones con cadena comunes en todos los lenguajes:
Operación | Ejemplo JavaScript |
---|---|
Encontrar la posición de un caracter en una cadena | "hello".indexOf("e") |
Convertir una cadena a todas minúsculas o mayúsculas | "HI".toLowerCase() , "hi".toUpperCase() |
Reportar la longitud de una cadena | "alphabet".length |
Múltiples operaciones en secuencia
Supongamos que queremos convertir una cadena a mayúsculas y luego cortarle una subcadena.
Una manera es con una sola operación a la vez:
var address = "329 Baltimore Lane";
var upperAddr = address.toUpperCase();
var upperStreet = upperAddr.substr(4, 9);
Otra opción es combinar las operaciones:
var address = "329 Baltimore Lane";
var upperStreet = address.toUpperCase().substr(4, 9);
La segunda línea primero llama a la función
upperCase()
, que devuelve "329 BALTIMORE LANE", y luego inmediatamente llama a substr()
sobre esa cadena en mayúsculas.Pseudocódigo para operaciones con cadenas
Como muchos lenguajes de programación utilizan procedimientos para operaciones con cadenas (en lugar de operadores como
+
), es probable los verás así en pseudo-código.Por ejemplo, esta una descripción de un procedimiento de concatenación:
Pseudocódigo | Descripción |
---|---|
CONCAT (str1, str2) | Concatena str1 y str2 , y devuelve la cadena combinada. |
La siguiente línea de pseudocódigo utiliza el procedimiento
CONCAT
para almacenar "DogHouse" en la variable home
:home ← CONCAT ("Dog", "House");
Una operación de corte funciona en una sola cadena, pero necesita parámetros para saber dónde cortar. Entonces, una descripción de un procedimiento de corte puede verse así:
Pseudocódigo | Descripción |
---|---|
SLICE (str, start, length) | Devuelve la subcadena de str , desde el índice start y con length caracteres en total. Las cadenas inician en el índice 1. |
La siguiente línea de pseudocódigo utiliza el procedimiento
SLICE
para almacenar "Dan" en la variable nickname
:nickname ← SLICE ("Daniel", 1, 3);
⚠️ Observa que este pseudocódigo supone que el primer índice de la cadena es 1, mientras que el primer índice de cadenas en JavaScript y en muchos otros lenguajes es 0. Pon atención a la descripción de cualquier procedimiento que involucre índices.
🙋🏽🙋🏻♀️🙋🏿♂️¿Tienes alguna pregunta sobre este tópico? Nos encantaría contestarte; ¡simplemente pregunta en el area de preguntas abajo!
¿Quieres unirte a la conversación?
- ¿También se cuenta el espacio de las palabras como índice?(1 voto)