Sie sind auf Seite 1von 6

https://msdn.microsoft.com/es-es/library/ms233783.

aspx

Cmo: Convertir una


cadena en una matriz
de caracteres en
Visual Basic
Visual Studio 2013
Otras versiones

En ocasiones es til tener informacin sobre los caracteres de una cadena y de su


posicin dentro de la misma, como cuando se est analizando una cadena. Este
ejemplo muestra cmo se puede obtener una matriz de los caracteres que contiene
una cadena llamando al mtodo ToCharArray de la cadena.

Ejemplo
Este ejemplo muestra cmo dividir una cadena en una matriz de caracteres (Char),
y cmo dividir una cadena en una matriz String de sus caracteres de texto
Unicode. El motivo de esta distincin es que los caracteres de texto Unicode pueden
constar de dos o ms caracteres Char (como un par suplente o una secuencia de
caracteres combinada). Para obtener ms informacin,
vea TextElementEnumerator y el "Estndar Unicode" en la direccin
http://www.unicode.org.
VB
Dim testString1 As String = "ABC"
' Create an array containing "A", "B", and "C".
Dim charArray() As Char = testString1.ToCharArray

Es ms difcil dividir una cadena en sus caracteres de texto Unicode, pero es


necesario hacerlo si necesita informacin sobre la representacin visual de una
cadena. Este ejemplo utiliza el mtodo SubstringByTextElements para obtener
informacin sobre los caracteres de texto Unicode que constituyen una cadena.

VB
' This string is made up of a surrogate pair (high surrogate
' U+D800 and low surrogate U+DC00) and a combining character
' sequence (the letter "a" with the combining grave accent).
Dim testString2 As String = ChrW(&HD800) & ChrW(&HDC00) & "a" &
ChrW(&H300)
' Create and initialize a StringInfo object for the string.
Dim si As New System.Globalization.StringInfo(testString2)
' Create and populate the array.
Dim unicodeTestArray(si.LengthInTextElements) As String
For i As Integer = 0 To si.LengthInTextElements - 1
unicodeTestArray(i) = si.SubstringByTextElements(i, 1)
Next
TAMAO DE CADENA

Dim Cadena = "Esta es la cadena"


Dim Longitud = Cadena.Length

Convertir una cadena en un array de caracteres


Cadenas de caracteres[editar]
En C, C++ las cadenas de caracteres no son ms que arrays de caracteres, salvo que a
este tipo de arrays el compilador les da un tratamiento especial. Usted puede manipular las
cadenas de caracteres de la misma manera en que manipula cualquier otro tipo de array,
sin embargo, es preferible hacer uso de una librera estndar especialmente escrita para
manipulacion de cadenas de caracteres, me refiero a la librera <string.h> y que viene
incluida con todo compilador de C, C++.
Para comenzar y antes de ver algunas de las funciones de la mencionada librera,
tenemos los siguientes ejemplos:

1. char
2. char

nombre[] = "Oscar";
nombre2[] = { 'O', 's', 'c', 'a', 'r', '\0' };

En el ejemplo 1 se est declarando la variable nombre como una cadena de


caracteres y cuyo contenido inicial es "Oscar".

En el ejemplo 2 se est declarando la variable nombre2 como una cadena de


caracteres y cuyo contenido inicial es { 'O', 's', 'c', 'a', 'r', '\0' };.

En ambos casos el resultado es el mismo, es decir, al final se obtiene la misma cadena,


pero usted debe poner atencin al hecho de que toda cadena de caracteres en C, C++
debe terminar con el carcter NULL, que normalmente es igual a cero y se puede escribir
como '\0'. Ahora bien, cuando usted usa la sintaxis mostrada en el ejemplo 1 no tiene que
preocuparse por agregar el caracter NULL, ya que esto lo hace el compilador
automticamente.

La biblioteca string[editar]
Los compiladores de C, C++ dan soporte a la biblioteca de funciones <string.h>, a la que
accede por medio de la directiva #include <string.h>. No veremos en detalle todas las
funciones contenidas en dicha biblioteca, y nos limitaremos a mostrar algunos ejemplos de
ciertas funciones importantes.

strlen(): Obtener longitud de cadenas


Sintaxis: size_t strlen(const char *s);
Comentarios: La funcin strlen() devuelve la longitud de la cadena s.
Ejemplo:
char *nombre = "Oscar E. Palacios";
cout << strlen(nombre) << endl;

strcpy(): Copiar cadenas


Sintaxis: char *stpcpy(char *dest, const char *src);
Comentarios: stpcpy copia la cadena src hacia dest, la funcin termina hasta haber
encontrado en src el carcter de terminacin null.
Ejemplo:
char *nombre = "Oscar E. Palacios";
char copia[80];
strcpy(copia, nombre);
cout << copia << endl;

strcat(): Concatenar cadenas


Sintaxis: char *strcat(char *dest, const char *src);

Comentarios: strcat agrega la cadena src a dest, la funcin termina hasta haber
encontrado en src el carcter de terminacin null.
Ejemplo:
char nombre[] = "Oscar E.";
char copia[80] = " Palacios";
strcat(copia, nombre);
cout << copia << endl;

strlwr(): Convertir a minsculas.


Sintaxis: char *strlwr(char *dest);
Comentarios: strlwr convierte todos los caracteres alfabticos ( 'A' .. 'Z' ) en dest a
sus correspondientes caracteres alfabticos ( 'a' .. 'z' ).
Ejemplo:
char nombre[] = "Oscar E. Palacios";
strlwr(nombre);
cout << nombre << endl;

strupr(): Convertir a maysculas.


Sintaxis: char *strupr(char *dest);
Comentarios: strupr convierte todos los caracteres alfabticos ( 'a' .. 'z' ) en dest a
sus correspondientes caracteres alfabticos ( 'A' .. 'Z' ).

strchr(): Buscar carcter ( hacia adelante )


Sintaxis: char *strchr(char *s, int c);
Comentarios: strchr busca en s el caracter c. La busqueda se lleva a cabo desde el
inicio hasta el final de s.
Regreso: si la operacin es exitosa strchr regresa un puntero hacia la primera
ocurrencia de c en s, en caso contrario strchr regresa null.
Ejemplo:
char nombre[] = "Oscar E. Palacios";
char *p;
p = strchr(nombre, 'E');
if (p) {

cout << "nombre contiene a E" << endl;


cout << "indice = " << (p - nombre) << endl;
}
else cout << "E no est en nombre" << endl;

strrchr(): Buscar carcter ( hacia atras )

Sintaxis: char *strrchr(char *s, int c);


Comentarios: strchr busca en s el caracter c. La busqueda se lleva a cabo desde el
final hasta el inicio de s.
Regreso: si la operacin es exitosa strchr regresa un puntero hacia la ltima
ocurrencia de c en s, en caso contrario strchr regresa null.
Ejemplo:
char nombre[] = "Oscar E. Palacios";
char *p;
p = strrchr(nombre, 'E');
if (p) {
cout << "nombre contiene a E" << endl;
cout << "indice = " << (p - nombre) << endl;
}
else cout << "E no est en nombre" << endl;

strstr(): Buscar subcadena


Sintaxis: char *strstr(const char *s1, char *s2);
Comentarios: strstr busca en s1 la subcadena s2. La bsqueda se lleva a cabo
desde el inicio hasta el final de s1.
Regreso: si la operacin es exitosa strstr regresa un puntero hacia la primera
ocurrencia de s2 en s1, en caso contrario strstr regresa null.
Ejemplo:
char s[] = "Un barco de tristeza";
char *p;

p = strstr(s, "barco");
if (p) {
cout << "barco est en s" << endl;
cout << "indice = " << (p - s) << endl;
}
else cout << "barco no est en s" <<
endl;

En ocasiones es til tener informacin sobre los caracteres de una cadena y de su


posicin dentro de la misma. Una cadena se puede considerar como una matriz de
caracteres (instanciasChar); se puede recuperar un carcter concreto haciendo
referencia al ndice de dicho carcter a travs de la propiedad Chars.
VB
Dim myString As String = "ABCDE"
Dim myChar As Char
' Assign "D" to myChar.
myChar = myString.Chars(3)

Das könnte Ihnen auch gefallen