Diferencia entre revisiones de «Cadena de texto»

Línea 8: Línea 8:
 
<div align="justify">
 
<div align="justify">
 
Una '''Cadena de texto''', no es  más que una secuencia de caracteres; '''.NET''' las representa internamente en  formato [[Unicode]], y '''C#''' las representan externamente como [[objeto]]s de un  tipo de dato string, que no es más que un alias del tipo [[System.String]] de la [[BCL]].
 
Una '''Cadena de texto''', no es  más que una secuencia de caracteres; '''.NET''' las representa internamente en  formato [[Unicode]], y '''C#''' las representan externamente como [[objeto]]s de un  tipo de dato string, que no es más que un alias del tipo [[System.String]] de la [[BCL]].
 +
 
== Cómo se crea una cadena de texto ==
 
== Cómo se crea una cadena de texto ==
 
Las cadenas de texto suelen crearse a partir literales de  cadena o de otras cadenas previamente creadas. Ejemplos de ambos casos  se muestran a continuación:  
 
Las cadenas de texto suelen crearse a partir literales de  cadena o de otras cadenas previamente creadas. Ejemplos de ambos casos  se muestran a continuación:  
string cadena1 = "José Antonio";
+
 
string cadena2 = cadena1;
+
string cadena1 = "José Antonio";
 +
string cadena2 = cadena1;
 +
 
 
En el primer caso se ha creado un objeto string que  representa a la cadena formada por la secuencia de caracteres José  Antonio indicada literalmente (nótese que las [[comillas dobles]] entre las  que se encierran los literales de cadena no forman parte del contenido  de la cadena  que representan sino que sólo se usan como delimitadores  de la misma) En el segundo caso la variable cadena2 creada se genera a  partir de la variable cadena1 ya existente, por lo que ambas variables  apuntarán al mismo objeto en memoria.
 
En el primer caso se ha creado un objeto string que  representa a la cadena formada por la secuencia de caracteres José  Antonio indicada literalmente (nótese que las [[comillas dobles]] entre las  que se encierran los literales de cadena no forman parte del contenido  de la cadena  que representan sino que sólo se usan como delimitadores  de la misma) En el segundo caso la variable cadena2 creada se genera a  partir de la variable cadena1 ya existente, por lo que ambas variables  apuntarán al mismo objeto en memoria.
 +
 
== Diferencia entre Cadenas de Texto y arrays de caracteres ==
 
== Diferencia entre Cadenas de Texto y arrays de caracteres ==
 
La principal diferencia entre una cadena y un [[array]] de caracteres, es que una cadena siempre termina con el carácter nulo ‘\0’ y los arrays de caracteres no.
 
La principal diferencia entre una cadena y un [[array]] de caracteres, es que una cadena siempre termina con el carácter nulo ‘\0’ y los arrays de caracteres no.
 
Como conclusión, podemos decir que
 
Como conclusión, podemos decir que
 
* Todas las cadenas de texto son arrays de caracteres, pero, no todos los arrays de caracteres almacenan  cadenas.
 
* Todas las cadenas de texto son arrays de caracteres, pero, no todos los arrays de caracteres almacenan  cadenas.
 +
 
== Cadenas dinámicas y estáticas ==
 
== 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 indíces 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í).
 
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 indíces 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í).
Línea 22: Línea 27:
 
* Mediante un carácter de fin de cadena ("\0" en C) para las cadenas de tipo dinámico.
 
* 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.
 
* Mediante una propiedad de la cadena que delimite su longitud (Length en C#) para las de tipo estático.
 +
 
== Las cadenas de texto son objetos ==
 
== Las cadenas de texto son objetos ==
 
En [[Python]] las cadenas de texto son objetos. Los objetos tienen una definición informática estricta y una [[filosofía]] de programación asociada,  los objetos además de los datos que contienen, incluyen funcionalidades para trabajar con ellos que definen el  comportamiento de dichos objetos.  
 
En [[Python]] las cadenas de texto son objetos. Los objetos tienen una definición informática estricta y una [[filosofía]] de programación asociada,  los objetos además de los datos que contienen, incluyen funcionalidades para trabajar con ellos que definen el  comportamiento de dichos objetos.  
 +
 
== Usos más comunes ==
 
== Usos más comunes ==
 
Los usos más comunes de las cadenas de texto son:
 
Los usos más comunes de las cadenas de texto son:
Línea 31: Línea 38:
 
* Dar avisos o pedir datos al usuario mediante cajas de dialogo.  
 
* Dar avisos o pedir datos al usuario mediante cajas de dialogo.  
 
En el panel frontal, las cadenas de texto aparecen como tablas, cajas de entrada de texto y etiquetas.  
 
En el panel frontal, las cadenas de texto aparecen como tablas, cajas de entrada de texto y etiquetas.  
 +
 
== Limitar caracteres de una cadena de texto con PHP ==
 
== Limitar caracteres de una cadena de texto con PHP ==
 
[[PHP]] tiene una función específica para este cometido: ''substr.'' La función en concreto es esta:
 
[[PHP]] tiene una función específica para este cometido: ''substr.'' La función en concreto es esta:
string substr ( string $string , int $start [, int $length ] )
+
<pre>
 +
string substr ( string $string , int $start [, int $length ] )
 
Aquí un ejemplo más claro:
 
Aquí un ejemplo más claro:
 
   <?php
 
   <?php
Línea 39: Línea 48:
 
   echo substr($string, 0, 5);
 
   echo substr($string, 0, 5);
 
   ?>
 
   ?>
 +
</pre>
 
El resultado será ABCDE, ya que le indicamos que coja desde el primer caracter ($start) hasta el quinto ($length).
 
El resultado será ABCDE, ya que le indicamos que coja desde el primer caracter ($start) hasta el quinto ($length).
 +
 
== Fuentes ==
 
== Fuentes ==
* [http://www.devjoker.com/contenidos/articulos/146/Cadenas-de-texto.aspx Cadenas de texto]
+
* [http://www.devjoker.com/contenidos/articulos/146/Cadenas-de-texto.aspx]
* [http://www.nebrija.es/~abustind/Informatica/MetodologiaI/Cadenas.pdf INTRODUCCIÓN AL TIPO COMPUESTO CADENA]
+
* [http://www.nebrija.es/~abustind/Informatica/MetodologiaI/Cadenas.pdf]
* [http://cnx.org/content/m19735/latest/ Cadenas de texto]
+
* [http://cnx.org/content/m19735/lates]
 
[[Category: Programación]]
 
[[Category: Programación]]

Revisión del 08:47 30 ene 2014

Cadena de texto
Información sobre la plantilla
Cadena d texto.jpg
Concepto:Las cadenas de texto suelen crearse a partir literales de cadena o de otras cadenas previamente creadas.

Una Cadena de texto, no es más que una secuencia de caracteres; .NET las representa internamente en formato Unicode, y C# las representan externamente como objetos de un tipo de dato string, que no es más que un alias del tipo System.String de la BCL.

Cómo se crea una cadena de texto

Las cadenas de texto suelen crearse a partir literales de cadena o de otras cadenas previamente creadas. Ejemplos de ambos casos se muestran a continuación:

string cadena1 = "José Antonio"; string cadena2 = cadena1;

En el primer caso se ha creado un objeto string que representa a la cadena formada por la secuencia de caracteres José Antonio indicada literalmente (nótese que las comillas dobles entre las que se encierran los literales de cadena no forman parte del contenido de la cadena que representan sino que sólo se usan como delimitadores de la misma) En el segundo caso la variable cadena2 creada se genera a partir de la variable cadena1 ya existente, por lo que ambas variables apuntarán al mismo objeto en memoria.

Diferencia entre Cadenas de Texto y arrays de caracteres

La principal diferencia entre una cadena y un array de caracteres, es que una cadena siempre termina con el carácter nulo ‘\0’ y los arrays de caracteres no. Como conclusión, podemos decir que

  • Todas las cadenas de texto son arrays de caracteres, pero, no todos los arrays de caracteres almacenan cadenas.

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 indíces 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.

Las cadenas de texto son objetos

En Python las cadenas de texto son objetos. Los objetos tienen una definición informática estricta y una filosofía de programación asociada, los objetos además de los datos que contienen, incluyen funcionalidades para trabajar con ellos que definen el comportamiento de dichos objetos.

Usos más comunes

Los usos más comunes de las cadenas de texto son:

  • Crear simples mensajes de texto.
  • Entregar datos numéricos a instrumentos como cadenas de caracteres para después convertir las cadenas en valores numéricos.
  • Almacenar datos numéricos en disco. Para almacenar valores numéricos en un fichero ASCII, hay que convertir los valores numéricos en cadenas de texto antes de escribirlos en el fichero.
  • Dar avisos o pedir datos al usuario mediante cajas de dialogo.

En el panel frontal, las cadenas de texto aparecen como tablas, cajas de entrada de texto y etiquetas.

Limitar caracteres de una cadena de texto con PHP

PHP tiene una función específica para este cometido: substr. La función en concreto es esta:

string substr ( string $string , int $start [, int $length ] )
Aquí un ejemplo más claro:
  <?php
  $string='ABCDEFG';
  echo substr($string, 0, 5);
  ?>

El resultado será ABCDE, ya que le indicamos que coja desde el primer caracter ($start) hasta el quinto ($length).

Fuentes