Sie sind auf Seite 1von 2

Cadena de caracteres

Ir a la navegaci�nIr a la b�squeda
En programaci�n, una cadena de caracteres, palabras, ristra de caracteres o frase
(string, en ingl�s) es una secuencia ordenada (de longitud arbitraria, aunque
finita) de elementos que pertenecen a un cierto lenguaje formal o alfabeto an�logas
a una f�rmula o a una oraci�n. En general, una cadena de caracteres es una sucesi�n
de caracteres (letras, n�meros u otros signos o s�mbolos). Si no se ponen
restricciones al alfabeto, una cadena podr� estar formada por cualquier combinaci�n
finita de los caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a
la 'Z', los n�meros del '0' al '9', el espacio en blanco ' ', s�mbolos diversos
'!', '@', '%', etc�tera).

En este mismo �mbito, se utilizan habitualmente como un tipo de dato predefinido,


para palabras, frases o cualquier otra sucesi�n de caracteres. En este caso, se
almacenan en un vector de datos, o matriz de datos de una sola fila (array, en
ingl�s). Las cadenas se pueden almacenar de manera f�sica:

seguidas;
enlazados letra a letra.
Generalmente los caracteres se guardan uno a continuaci�n de otro para fines de
eficiencia en el acceso.

Un caso especial de cadena es la que contiene cero caracteres. A esta cadena se la


llama cadena vac�a; en teor�a de aut�matas, es com�n representarla por medio de la
letra griega {\displaystyle \epsilon } \epsilon .

�ndice
1 Operaci�n con cadena de caracteres
2 Representaci�n
3 Cadenas din�micas y est�ticas
4 Ejemplos de operaciones comunes
4.1 Asignaci�n
4.2 Concatenaci�n
4.3 N�mero de caracteres de una cadena
4.4 Comparaci�n
4.5 Multiplicar una cadena
5 Enlaces externos
Operaci�n con cadena de caracteres
Al considerar las cadenas como un tipo de datos, hay que definir cu�les son las
operaciones que es posible hacer con ellas. En principio, podr�an ser muchas y
llegar a ser muy sofisticadas. Las siguientes son algunas de ellas:

Asignaci�n: Consiste en asignar una cadena a otra.


Concatenaci�n: Consiste en unir dos cadenas o m�s (o una cadena con un car�cter)
para formar una cadena de mayor tama�o.
B�squeda: Consiste en localizar dentro de una cadena una subcadena m�s peque�a o un
car�cter.
Extracci�n: Se trata de sacar fuera de una cadena una porci�n de la misma seg�n su
posici�n dentro de ella.
Comparaci�n: Se utiliza para comparar dos cadenas.
Representaci�n
Una cadena suele ser representada entre comillas dobles superiores ("palabra"),
mientras que un car�cter de esa cadena (un char en ingl�s) suele ser representado
entre comillas simples ('p'). Por ejemplo, en C:

charAt c = 'a';
char str[5] = "hola";
Generalmente para acceder a un car�cter en una posici�n determinada se suele usar
la forma variable[posici�n] como cuando se accede a un vector.

Para poder mostrar una comilla (") dentro de la cadena y no tener problemas con las
comillas que la delimitan, se usan secuencias de escape. Esto se aplica a otros
caracteres reservados o no imprimibles como el retorno de carro. No obstante, las
expresiones para producir estas secuencias de escape dependen del lenguaje de
programaci�n que se est� usando. Una forma com�n, en muchos lenguajes, de escapar
un car�cter es anteponi�ndole un �\� (sin comillas), p. e.: �\"� (sin comillas).

Cadenas din�micas y est�ticas


Las cadenas pueden ser de naturaleza din�mica (pueden alterar su longitud durante
el tiempo de ejecuci�n) o de naturaleza est�tica (su longitud es fija a lo largo
del tiempo de ejecuci�n). En este segundo caso, el programador debe prever que al
recorrer la cadena los �ndices no se vayan de los l�mites previstos (C no permite
que las cadenas crezcan autom�ticamente de forma expl�cita, mientras que C# s�).

El final de la cadena se delimita de diferente manera en uno u otro caso:

mediante un car�cter de fin de cadena ('\0' en C) para las cadenas de tipo


din�mico;
mediante una propiedad de la cadena que delimite su longitud (Length en C#) para
las de tipo est�tico.
Ejemplos de operaciones comunes
Asignaci�n
Asignar una cadena a otra.

char *strcpy(char [], const char[]); # en C


cadena1=cadena2; # en C++
cadena1 := cadena2 # en Smalltalk
Concatenaci�n
Unir dos cadenas de caracteres.

pareja = "Joshua" + " y " + "Marina" # en Python


$pareja = "Joshua"." y "."Marina" # en Perl y PHP
pareja = "Luisa" & " y " & "Carmen" # en Visual Basic
pareja = "Luisa" + " y " + "Carmen"; # en C++ y Java con la clase String
pareja := 'Luisa' , ' y ' , 'Carmen'. # en Smalltalk
strcat(cadena1,cadena2); strcat(cadena1, cadena3); # en C (Debe haber suficiente
espacio en la primera.)
N�mero de caracteres de una cadena
int strlen(const char[]); # en C Devuelve el n� de caracteres sin contar el '\0'
cadena.length(); # en C++
cadena size. # en Smalltalk
len(cadena) # en Python
Comparaci�n
Comparar dos cadenas en orden lexicogr�fico.

int strcmp(const char[], const char[]); # en C Devuelve <0 si la 1� es menor, > 0


si es mayor y 0 si son iguales.
cadena1 == cadena2; cadena1>cadena2; etc. # en C++ Devuelve un valor de verdad.
cadena1 = cadena2 # en Smalltalk Devuelve true o false.
Multiplicar una cadena
Repetir varias veces una cadena.

Das könnte Ihnen auch gefallen