Hola tengo un problemita con un codigo, como analizo una cadena de caracteres para luego manipularlo a mi antojo por ejemplo:
Console.WriteLine("Escribe algo: ");
string a = string.Format(Console.ReadLine());
string str = a;
char[] caracter = str.ToCharArray();
foreach (char c in caracter)
{
//aqui haria la comparacion por ejemplo
}
En este punto recorro mi cadena ingresada caracter por caracter.
por ejemplo si yo le ingreso 36+p*8
como puedo saber que 3 y 6 son 36, ¿antes de llegar al signo de suma? if (c == '+')
para luego pedir el valor de 'p' etc etc ... help :huh:, es mejor con arreglos? como lo comparo por ejemplo if (c == string[] letras = { "aqui pondria letras"}) luego comparo con una lista de signos y el que sea igual le asigno un operador ,.. si se puede hacer esto seria genial solo necesito saber la sintaxis para q funcione yo veria como. saludines :P
Edito: icono pregunta
El tema del análisis léxico es muy complicado, y antes de nada, te diré que si estás interesado ya existen herramientas para realizarlo sin tener que empezar de cero, gracias a las expresiones regulares. Revísate Flex.
Una manera de hacerlo podría ser la siguiente:
Imaginemos que quieres buscar sólo números. Simplemente buscas números y vas guardando en una estructura de datos los números que vas cogiendo. Cuando detectas un carácter paras de buscar y devuelves la estructura de datos.
Un saludo!