Cadena de Caracteres Visual_basic
description
Transcript of Cadena de Caracteres Visual_basic
https://msdn.microsoft.com/es-es/library/ms233783.aspx
Cómo: Convertir una cadena en una matriz de caracteres en Visual BasicVisual Studio 2013
Otras versiones
En ocasiones es útil tener información sobre los caracteres de una cadena y de su posición dentro de la misma, como cuando se está analizando una cadena. Este ejemplo muestra cómo se puede obtener una matriz de los caracteres que contiene una cadena llamando al método ToCharArray de la cadena.
EjemploEste ejemplo muestra cómo dividir una cadena en una matriz de caracteres (Char), y cómo dividir una cadena en una matriz String de sus caracteres de texto Unicode. El motivo de esta distinción es que los caracteres de texto Unicode pueden constar de dos o más caracteres Char (como un par suplente o una secuencia de caracteres combinada). Para obtener más información, vea TextElementEnumerator y el "Estándar Unicode" en la dirección 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 más difícil dividir una cadena en sus caracteres de texto Unicode, pero es necesario hacerlo si necesita información sobre la representación visual de una cadena. Este ejemplo utiliza el método SubstringByTextElements para obtener información 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 StringFor i As Integer = 0 To si.LengthInTextElements - 1 unicodeTestArray(i) = si.SubstringByTextElements(i, 1)Next
TAMAÑO 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 más 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 librería estándar especialmente escrita para
manipulacion de cadenas de caracteres, me refiero a la librería <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 librería,
tenemos los siguientes ejemplos:
1. char nombre[] = "Oscar";
2. char 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 atención al hecho de que toda cadena de caracteres en C, C++
debe terminar con el carácter 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
automáticamente.
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 función 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 función termina hasta haber
encontrado en src el carácter de terminación 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 función termina hasta haber
encontrado en src el carácter de terminación null.
Ejemplo:
char nombre[] = "Oscar E.";char copia[80] = " Palacios";strcat(copia, nombre);cout << copia << endl;
strlwr(): Convertir a minúsculas.
Sintaxis: char *strlwr(char *dest);
Comentarios: strlwr convierte todos los caracteres alfabéticos ( 'A' .. 'Z' ) en dest a
sus correspondientes caracteres alfabéticos ( 'a' .. 'z' ).
Ejemplo:
char nombre[] = "Oscar E. Palacios";
strlwr(nombre);cout << nombre << endl;
strupr(): Convertir a mayúsculas.
Sintaxis: char *strupr(char *dest);
Comentarios: strupr convierte todos los caracteres alfabéticos ( 'a' .. 'z' ) en dest a
sus correspondientes caracteres alfabéticos ( 'A' .. 'Z' ).
strchr(): Buscar carácter ( 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 operación 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 carácter ( 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 operación 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 búsqueda se lleva a cabo
desde el inicio hasta el final de s1.
Regreso: si la operación 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 información sobre los caracteres de una cadena y de su posición dentro de la misma. Una cadena se puede considerar como una matriz de caracteres (instanciasChar); se puede recuperar un carácter concreto haciendo referencia al índice de dicho carácter a través de la propiedad Chars.VB
Dim myString As String = "ABCDE"Dim myChar As Char' Assign "D" to myChar.myChar = myString.Chars(3)