CLR: .Net / Mono / Boo / Otros CLR > C#
Como quito numeros de una cadena.
(1/1)
エリック:
Tengo una cadena por ejemplo: "34*5+6*12/3", de alli quiero separar los numeros de los caracteres(operadores matematicos), eso lo hago con un slipt, donde define a los caracteres{ '*', '+' , '/'} como los separadores, al final me queda un array donde en cada posicion tengo cada cifra existente en la operacion.
Ahora como hago lo inverso como obtener los operadores matematicos en un array, tengo que eliminar los numeros de la cadena, tal vez alguien ya lo hizo antes y conozca una solucion eficaz. tenga en cuenta que la expresion matematica no siempre sera como la de arriba, crecera en complejidad.
kanop:
yo hice algo parecido pero con letras y simbolos
no tengo el codigo aca pero la idea es la siguiente:
pimero llevas la cadena a un array de caracteres
obtendras un array con cada caracter de la cadena
luego creas un array con lo que quieres ir separando en este caso numero asi obtenemos 2 array
uno con la cadena A y el otro con lo que deseamos eliminar B.
ahora con un foreach recorre la cadena A y en cada item compara si existe en B y no existe agreagalo a un string
por ultimo tienes una cadena solo con los simbolos si los quieres separar usa tochararray nuevamente;
--- Código: C# --- public string funcion(string cadena){string cadenafinal="";char[] ArrayA = cadena.ToCharArray();char[] ArrayB={'+','-','/','*'};foreach(char[] item in ArrayA){ foreach(char[] itemB in ArrayB) { if(item==itemB) { } else { cadenafinal+=arrayB[i].toString(); break; }}return cadenafinal;
espero te sirva si hay errores en el codigo sorry pero lo hice de memoria :D :D
LapizTolita:
--- Código: C# --- var a = Console.ReadLine(); var b = new List<char>(); foreach (var x in a) if ((x == '*') || (x == '/') || (x == '-') || (x == '+')) b.Add(x); foreach (var x in b) Console.WriteLine(x); Console.Read(); igual si estas haciendo una calculadora o algo así te recomiendo esto para empezar postfija y trabajar con una pila, como para que te vallas acostumbrando a manejar estructuras de datos.
Edit: ya respondieron =P
--- Código: C# ---if(item==itemB) { } ??? if(item!=itemb) maybe?
gabio2:
exelente link de postfija, puedo decir que aprendí algo nuevo.. gracias.. Lapiz... :) no digo todo el nick por que suena medio sarcástico! xD... un saludo!
Navegación
Ir a la versión completa