2012-05-16 80 views
5

我正在制作一个程序,即一个脚本转换器。我试过替换命令 TextBox1.Text.Replace("Hi", "Hello").Replace("Hello", "HI") 但是这不起作用。它不会正确替换第二次。VB.NET中的多个替换

请帮助...

+0

你为什么不让它在2号线? – Nick

+0

它甚至不起作用,然后... – shahbaz

+0

你确定*第一个替换的作品? – David

回答

4

的replace()方法实际上并没有改变字符串的内容。所以你必须将新的价值赋予某种东西。

一个例子:

someString = "First Example" 

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

// someString is still "First Example" 

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

// newString is now "Hi World" 

一些例子:http://www.dotnetperls.com/replace-vbnet

更新:

从您最近的评论,看来你想这样的内容:

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

因为第二替换正在进行第一次替换的结果。它不再处理原始文本。所以要用'你好'和'你好'来切换'你好',你必须有一些中间值。

+0

感谢您的回答,但我希望无论用户在第一个文本框中输入什么内容,它都应该替换它并在第二个文本框中显示结果像'rep.Text = ori.Text.Replace(“Hello”,“Hi”)。替换(“你好”,“你好”)' – shahbaz

+1

@shahbaz那么,如果你将replace()调用的值赋给另一个文本框,那么请编辑你的问题以显示你正在做的事情。 – David

+0

谢谢..我明白了...... – 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 

我想这就是你想要的东西,对我的作品

+0

它不会在第一种情况下将Hi替换为Hello,而是在第二种情况下不会替代您好Hi ... – shahbaz

+0

要“Hi max”> >“你好最大”>>“最大”?所以它发生在那里 – Darshana

+0

不,不,我要这个你好嗨>>你好你好 – shahbaz