Insertar texto dentro de otro?

Iniciado por Edu, 8 Abril 2011, 01:20 AM

0 Miembros y 1 Visitante están viendo este tema.

Edu

Bueno estoy haciendo un programa que me esta costando muchisimo, ya he creado temas para que me ayuden con otras cositas, pero ahora gracias a sus respuestas y un buen consejo que me dieron de que haga todo en un papel primero xD CREO que se como lograr formar una ecuacion desordenada, pero tengo problemitas en algunas cosas y talvez las voy preguntando aca y despues junto todo yo y veo a ver q pasa je.

La duda de ahora es como hago para insertar un simbolo "*" dentro de un string "texto" q seria la ecuacion desordenada.
Les dejo mi codigo q no entiendo porq no anda:

Código (csharp) [Seleccionar]

public static void ShowNivel(ref string texto)
       {
           string text1;
           string text2;
           string resultado = string.Empty;
           int nivel = 1;

           for (int i = 0; i < texto.Length; i++)
           {
               if (texto[i].ToString() == "(")
               {
                   text1 = string.Empty;
                   text2 = string.Empty;
                   resultado = string.Empty;

                   for (int j = 0; j < i; j++)
                   {
                       text1 += texto[j].ToString();
                   }

                   for (int j = i; j < texto.Length; j++)
                   {
                       text2 += texto[j].ToString();
                   }
                   
                   resultado = text1 + "*" + nivel.ToString() + text2;
                   nivel++;
               }
           }
           texto = resultado;
       }


La variable nivel ira pegada al * a la derecha y esa variable aumentaria cada vez q "leemos" un parentesis "("

Intente usar el .Insert() primero q nada pero nunca me anduvo :S a ver si lo pueden hacer mas profesional, ya q algo asi lo uso como 4 veces en el codigo tambien y anda, aca no anda ni idea porq :S

Prueben con un string texto = "2x-8(+4+5)-2" que tendria salir "2x-8*1(+4+5)-2"
Y otro string texto = "2x-8(+4+5(+3+1)-2)" que tendria q salir "2x-8*1(+4+5*2(+3+1)-2)"

Espero q entiendan, creo q no es muy complicado, pero no se porq no me anda el Insert() :S

Desde ya gracias!

[D4N93R]

Cómo que no te anda el Insert??

ejm:
Código (csharp) [Seleccionar]

string a = "hola mundo";
a = a.Insert(4, ",");
Console.WriteLine(a);


Aparece "hola, mundo" en la Consola.

Tu problema es algo de referencia, seguro haces:
a.Insert(4, ",");
En vez de
a = a.Insert(4, ",");

Un saludo!

Edu

No me acuerdo ya q me pasaba, creo q no pasaba nada, me puedes corregir mi codigo con el insert? a ver si te anda a vs.

Edu

Se podria decir q mas o menos logre hacerlo, luego lo optimizare, gracias igual.. ahora creare otro post con otra preguntita.