Академический Документы
Профессиональный Документы
Культура Документы
ESCUELA DE INGENIERÍA
DEPARTAMENTO DE CIENCIA DE LA COMPUTACIÓN
IIC 1102 INTRODUCCIÓN A LA PROGRAMACIÓN
Profesor: Rodrigo Sandoval U.
1 CADENAS DE TEXTO..............................................................................................................................................1
1.1 LA CLASE SYSTEM.STRING ....................................................................................................................................1
1.1.1 Declaración de un string...............................................................................................................................1
1.1.2 Operadores básicos sobre un string..............................................................................................................1
1.1.3 Revisando los caracteres individuales de un string ......................................................................................2
1.1.4 Métodos de la clase String ............................................................................................................................2
1.1.5 Ejemplo: Validación de formato de un e-mail ..............................................................................................3
1.1.6 Ejemplo: Manejo de un Diccionario, incluyendo la búsqueda de palabras..................................................4
1.1.7 Ejemplo: Búsqueda y Reemplazo de Texto....................................................................................................7
1.2 TRANSFORMACIÓN DE OTROS TIPOS A STRING ......................................................................................................9
1.2.1 Transformación con Formato .......................................................................................................................9
1 Cadenas de Texto
Los strings esencialmente son cadenas de texto, compuestas por uno o más caracteres. Si bien no se
incluyen dentro de los tipos básicos de C#, como son el int, el double, el char, efectivamente se reconoció su
enorme importancia al haberse incluido una clase String y su alias string en la base del lenguaje C#.
Internamente, un string, al ser una lista de caracteres, se puede equiparar con un arreglo de char, sin
embargo, dada su propia necesidad funcional, se han agregado diversos atributos y métodos a la clase
String, para simplificar y potenciar su utilización, hasta cierto punto ocultando su real implementación de
arreglo interna.
Algunos ejemplos:
string nombre;
nombre = “Juan Pérez”;
Console.WriteLine(nombre);
Format Formatea un string conteniendo varios valores y especificadores acerca de cómo cada
valor debe ser formateado.
LastIndexOf Igual que IndexOf, pero comenzando desde el final del string.
LastIndexOfAny Igual que IndexOfAny, pero comenzando desde el final del string.
Replace Reemplaza todos los caracter4es de un substring indicado, por otro también indicado.
Split Identifica los substrings en la instancia y los ordena por separado en un arreglo de
strings.
using System;
class Email {
// Cantidad de @
if( email.IndexOf('@') < 0 ) return (false); // No había @
if( email.IndexOf('@') != email.LastIndexOf('@') )
return (false); // Hay más de 1 @
// Cantidad de . a la derecha de @.
// Se busca un . sólo en el substring a la derecha del @
if( email.Substring(email.IndexOf('@'),
email.Length-email.IndexOf('@')-1).IndexOf('.') < 0)
return(false);
return (true);
}
}
class MainApp {
static void Main() {
string email;
do {
Console.Write("Ingrese su e-mail: ");
email = Console.ReadLine();
} while( !Email.Validar(email) );
/////////////////////////////////////////////////////////////////////////////////
// Ejemplo de manejo de un diccionario de palabras
// ===============================================
// Este ejemplo declara una clase Diccionario que maneja una lista de palabras
// (en este caso, nombres de animales). Luego, permitiéndole al usuario ingresar
// nombres o subpalabras a buscar, se filtran y se revisan las palabras del
// diccionario que comienzan con la palabra indicada, o terminan, o la contienen.
//
// En este ejemplo se ilustra el uso de los siguientes métodos de la clase String:
// IndexOf(), StartsWith(), EndsWith(), Trim(), ToUpper(),
/////////////////////////////////////////////////////////////////////////////////
using System;
class Diccionario {
"ZORRO", "ZORRILLO" };
return(resultado);
}
return(resultado);
}
resultado[i] = diccionario[posiciones[i]];
return(resultado);
}
}
class MainApp {
static void Main() {
Diccionario d = new Diccionario();
string palabra;
string[] resultado;
Console.ReadLine();
}
}
Ejemplos de Ejecución
Indique la palabra a buscar: oso
Buscando: "oso"
Buscando: "OSO"
Los siguientes strings comienzan con "OSO":
OSO
OSO HORMIGUERO
Los siguientes strings terminan con "OSO":
OSO
PEREZOSO
Los siguientes strings contienen "OSO":
OSO
OSO HORMIGUERO
PEREZOSO
/////////////////////////////////////////////////////////////////////////////////
// Implementación de Find-Replace de los Editores de Texto
// =======================================================
// Entre las funcionalidades que ofrecen los editores de texto hoy en día se encuentra
// la búsqueda y reemplazo de una palabra por otra, todas las veces que ésta aparezca
// en el texto.
// El siguiente programa implementa la búsqueda y reemplazo utilizando las funciones
// y conceptos de string, con las siguientes condiciones:
// * El contenido del texto se almacena en la clase Texto
// * Se incluye el método BuscarReemplazar(str1,str2)
// donde el primer parámetro (str1) es el string a buscar y el segundo (str2)
// es el string por el cual reemplazar el string encontrado.
// * En la búsqueda se consideran idénticas las mayúsculas de las minúsculas, es decir,
// "CASA" es totalmente equivalente a "Casa".
// * La búsqueda no considera palabras acotadas, es decir, al buscar "el",
// se considera que se encontró en "el", "ellos", "aquel".
// * Al encontrar la palabra buscada, se reemplaza el texto de ella por el texto indicado.
// Si el texto encontrado es parte de otra palabra, sólo se reemplaza la porción corresp.
// al texto encontrado. Es decir, si se busca "casa" y se reemplaza por "hogar",
// entonces la frase
// "El casamiento fue en la tarde", quedará como "El hogarmiento fue en la tarde".
// * Se considera ajustar el texto restante: si la palabra buscada tiene distinto
// largo que su reemplazo.
//
// En este ejemplo se ilustra el uso de los siguientes métodos de la clase String:
// IndexOf(), Substring(), ToLower(), Insert(), Remove()
/////////////////////////////////////////////////////////////////////////////////
using System;
class Reemplazo {
public string texto = "En la casa del explorador, se encuentra todo tipo de cosas, " +
"incluyendo fotografías de recuerdo. " +
"Estos objetos son parte de la historia de este explorador, " +
"a través de los años y kilómetros que ha recorrido";
do {
// Se busca la sig. posición en que str1 está en el texto
indice = texto.Substring(posicion,texto.Length-posicion).IndexOf(str1);
texto = texto.Replace(str1,str2);
}
class MainApp {
static void Main() {
Reemplazo r = new Reemplazo();
string str1;
string str2;
Console.ReadLine();
}
}
Ejemplos de Ejecución
** Búsqueda-Reemplazo de texto **
Texto: "En la casa del explorador, se encuentra todo tipo de cosas, incluyendo
fotografías de recuerdo. Estos objetos son parte de la historia de este
explorador, a través de los años y kilómetros que ha recorrido"
Texto a buscar: la
Texto de reemplazo: lo
Texto modificado: "En lo casa del explorador, se encuentra todo tipo de cosas,
incluyendo fotografías de recuerdo. Estos objetos son parte de lo historia de
este explorador, a través de los años y kilómetros que ha recorrido"
Ejemplo:
////////////////////////////////////////////////////////////////////////////////
// Transformación de tipos básicos a strings con formato. Uso de ToString()
/////////////////////////////////////////////////////////////////////////////////
using System;
class ValoresNumericos {
int contador=0;
foreach(int n in valores) // Cuenta montos sobre $100
if(n>100) contador++;
Ejemplos de Ejecución
Proceso de cantidades monetarias
Ingrese el monto 1: 150
Ingrese el monto 2: 1200
Ingrese el monto 3: 23
Ingrese el monto 4: 33
Los montos son:
$ 150, $ 1.200, $ 23, $ 33, De ellos, el 50,00 % es mayor que $ 100
Presione ENTER para terminar ...