我遇到字符串替换问题。以下是我现在的代码。我想替换textbox1中的每个字符并将其写入textbox2,但这仅适用于最后一个字符。
如果我写:
您好
然后它最终应该是:
[并[h]] [[E]] [[1]] [[1]] [[O]]
Public Class Form1
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Try
TextBox2.Text = TextBox1.Text.Replace("0"c, "[[something0a0]]")
TextBox2.Text = TextBox1.Text.Replace("1"c, "[[something1a1]]")
TextBox2.Text = TextBox1.Text.Replace("2"c, "[[something2a2]]")
TextBox2.Text = TextBox1.Text.Replace("3"c, "[[something3a3]]")
Catch ex As Exception
End Try
End Sub
End Class
答案 0 :(得分:4)
您正在覆盖TextBox2
的值。将您的Replace
电话换成链接并设置一次。
TextBox2.Text = TextBox1.Text.Replace("0"c, "[[something0a0]]")
.Replace("1"c, "[[something1a1]]")
.Replace("2"c, "[[something2a2]]")
.Replace("3"c, "[[something3a3]]")
答案 1 :(得分:1)
你可以这样做的方法是使用这样的循环。不确定它是否最有效,但它很容易理解:
TextBox2.Text = ""
For Each chr As Char In TextBox1.Text
TextBox2.Text += "[[" & chr & "]]"
Next
另一个简单的方法是:
TextBox2.Text = "[[" & String.Join("]][[ ", TextBox1.Text.ToCharArray().AsEnumerable()) & "]]"
HTH