2012-05-16 23 views
5

Estoy haciendo un programa, es decir, un convertidor de scripts. Probé el comando Reemplazar TextBox1.Text.Replace("Hi", "Hello").Replace("Hello", "HI") Pero esto no funciona. No reemplaza la segunda vez correctamente.Multiple Replace en VB.NET

por favor ayuda ...

+0

¿por qué no hacerlo en 2 líneas? – Nick

+0

incluso no funciona, entonces ... – shahbaz

+0

¿Está * seguro * reemplazando el primero? – David

Respuesta

4

método replace() en realidad no cambia el contenido de una cadena. Entonces debes asignar el nuevo valor a algo.

Un ejemplo:

someString = "First Example" 

someString.Replace("First", "Second") 

// someString is still "First Example" 

newString = "Hello World".Replace("Hello", "Hi") 

// newString is now "Hi World" 

Algunos ejemplos: http://www.dotnetperls.com/replace-vbnet

Actualización:

Desde su comentario reciente, parece que lo que quiere es la siguiente:

TextBox1.Text.Replace("Hi", "temp").Replace("Hello", "HI").Replace("temp", "Hello") 

Porque el segundo reemplazar está trabajando en el resultado de la primera sustitución. Ya no está trabajando en el texto original. Entonces para cambiar 'hola' por 'hola' y 'hola' por 'hola' debe tener algún valor intermedio.

+0

Gracias por su respuesta, pero quería que lo que el usuario escriba en el primer cuadro de texto, debería reemplazarlo y mostrar el resultado en el segundo cuadro de texto Al igual que 'rep.Text = ori.Text.Replace (" Hola "," Hola "). Reemplazar ("Hola", "Hola") ' – shahbaz

+1

@shahbaz Bueno, si está asignando el valor de las llamadas a replace() a otro cuadro de texto está bien, pero edite su pregunta para mostrar que eso es lo que está haciendo. – David

+0

gracias .. lo tengo ... – shahbaz

1
Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click 
    TextBox1.Text = TextBox1.Text.Replace("Hi", "Hello").Replace("Hello", "HI") 
End Sub 

supongo que esto lo que quiere, que funciona para mí

+0

No lo hace, ya que reemplaza Hola en el primer caso a Hola, pero no reemplaza Hola a Hola en el segundo caso ... – shahbaz

+0

¿quieres "Hola, máx."> > "Hola max" >> "HI max"? así que está sucediendo allí – Darshana

+0

No no, quiero esto Hola Hola >> Hola Hola – shahbaz