gpt4 book ai didi

vb.net - 如何及时替换文本框中的字母

转载 作者:行者123 更新时间:2023-12-02 02:23:21 24 4
gpt4 key购买 nike

我想使用 VB.NET 替换文本框中的每个字母或数字。这是我第一次尝试,但它一次只替换一个字母:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Select Case True
Case TextBox1.Text.Contains("a")
TextBox1.Text = TextBox1.Text.Replace("a", "h")
Case TextBox1.Text.Contains("b")
TextBox1.Text = TextBox1.Text.Replace("b", "o")
Case TextBox1.Text.Contains("c")
TextBox1.Text = TextBox1.Text.Replace("c", "t")
Case TextBox1.Text.Contains("d")
TextBox1.Text = TextBox1.Text.Replace("d", "e")
Case TextBox1.Text.Contains("e")
TextBox1.Text = TextBox1.Text.Replace("e", "i")
Case TextBox1.Text.Contains("f")
TextBox1.Text = TextBox1.Text.Replace("f", "a")
Case TextBox1.Text.Contains("g")
TextBox1.Text = TextBox1.Text.Replace("g", "j")
Case TextBox1.Text.Contains("h")
TextBox1.Text = TextBox1.Text.Replace("h", "f")
Case TextBox1.Text.Contains("i")
TextBox1.Text = TextBox1.Text.Replace("i", "k")
Case TextBox1.Text.Contains("j")
TextBox1.Text = TextBox1.Text.Replace("j", "b")
Case TextBox1.Text.Contains("k")
TextBox1.Text = TextBox1.Text.Replace("k", "n")
Case TextBox1.Text.Contains("l")
TextBox1.Text = TextBox1.Text.Replace("l", "r")
Case TextBox1.Text.Contains("m")
TextBox1.Text = TextBox1.Text.Replace("m", "d")
Case TextBox1.Text.Contains("n")
TextBox1.Text = TextBox1.Text.Replace("n", "s")
Case TextBox1.Text.Contains("o")
TextBox1.Text = TextBox1.Text.Replace("o", "u")
Case TextBox1.Text.Contains("p")
TextBox1.Text = TextBox1.Text.Replace("p", "g")
Case TextBox1.Text.Contains("q")
TextBox1.Text = TextBox1.Text.Replace("q", "w")
Case TextBox1.Text.Contains("r")
TextBox1.Text = TextBox1.Text.Replace("r", "m")
Case TextBox1.Text.Contains("s")
TextBox1.Text = TextBox1.Text.Replace("s", "q")
Case TextBox1.Text.Contains("t")
TextBox1.Text = TextBox1.Text.Replace("t", "x")
Case TextBox1.Text.Contains("u")
TextBox1.Text = TextBox1.Text.Replace("u", "c")
Case TextBox1.Text.Contains("v")
TextBox1.Text = TextBox1.Text.Replace("v", "y")
Case TextBox1.Text.Contains("w")
TextBox1.Text = TextBox1.Text.Replace("w", "z")
Case TextBox1.Text.Contains("x")
TextBox1.Text = TextBox1.Text.Replace("x", "l")
Case TextBox1.Text.Contains("y")
TextBox1.Text = TextBox1.Text.Replace("y", "v")
Case TextBox1.Text.Contains("z")
TextBox1.Text = TextBox1.Text.Replace("z", "p")
end select
end sub

这不是我想要的,所以我尝试了这个:

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

If TextBox1.Text.Contains("a") Then
TextBox1.Text = TextBox1.Text.Replace("a", "h")
End If

If TextBox1.Text.Contains("b") Then
TextBox1.Text = TextBox1.Text.Replace("b", "o")
End If

If TextBox1.Text.Contains("c") Then
TextBox1.Text = TextBox1.Text.Replace("c", "t")
End If

If TextBox1.Text.Contains("d") Then
TextBox1.Text = TextBox1.Text.Replace("d", "e")
End If

If TextBox1.Text.Contains("e") Then
TextBox1.Text = TextBox1.Text.Replace("e", "i")
End If

If TextBox1.Text.Contains("f") Then
TextBox1.Text = TextBox1.Text.Replace("f", "a")
End If

If TextBox1.Text.Contains("g") Then
TextBox1.Text = TextBox1.Text.Replace("g", "j")
End If

If TextBox1.Text.Contains("h") Then
TextBox1.Text = TextBox1.Text.Replace("h", "f")
End If

If TextBox1.Text.Contains("i") Then
TextBox1.Text = TextBox1.Text.Replace("i", "k")
End If

If TextBox1.Text.Contains("j") Then
TextBox1.Text = TextBox1.Text.Replace("j", "b")
End If

If TextBox1.Text.Contains("k") Then
TextBox1.Text = TextBox1.Text.Replace("k", "n")
End If

If TextBox1.Text.Contains("l") Then
TextBox1.Text = TextBox1.Text.Replace("l", "r")
End If

If TextBox1.Text.Contains("m") Then
TextBox1.Text = TextBox1.Text.Replace("m", "d")

End If

If TextBox1.Text.Contains("n") Then
TextBox1.Text = TextBox1.Text.Replace("n", "s")
End If

If TextBox1.Text.Contains("o") Then
TextBox1.Text = TextBox1.Text.Replace("o", "u")
End If

If TextBox1.Text.Contains("p") Then
TextBox1.Text = TextBox1.Text.Replace("p", "g")
End If

If TextBox1.Text.Contains("q") Then
TextBox1.Text = TextBox1.Text.Replace("q", "w")
End If

If TextBox1.Text.Contains("r") Then
TextBox1.Text = TextBox1.Text.Replace("r", "m")
End If

If TextBox1.Text.Contains("s") Then
TextBox1.Text = TextBox1.Text.Replace("s", "q")
End If

If TextBox1.Text.Contains("t") Then
TextBox1.Text = TextBox1.Text.Replace("t", "x")
End If

If TextBox1.Text.Contains("u") Then
TextBox1.Text = TextBox1.Text.Replace("u", "c")
End If

If TextBox1.Text.Contains("v") Then
TextBox1.Text = TextBox1.Text.Replace("v", "y")
End If

If TextBox1.Text.Contains("w") Then
TextBox1.Text = TextBox1.Text.Replace("w", "z")
End If

If TextBox1.Text.Contains("x") Then
TextBox1.Text = TextBox1.Text.Replace("x", "l")
End If

If TextBox1.Text.Contains("y") Then
TextBox1.Text = TextBox1.Text.Replace("y", "v")
End If

If TextBox1.Text.Contains("z") Then
TextBox1.Text = TextBox1.Text.Replace("z", "p")
End If
end sub

它也不起作用,只能一次一个字母。

我希望能够在文本框中写入“自行车”,并将同一文本框(或另一个文本框)中的文本替换为“pawm”,但我不能看看问题出在哪里。

最佳答案

正如您所发现的,替换整个文本是行不通的,因为一个字母可以被替换多次。例如,“b”被替换为“p”,但稍后您将“p”替换为“h”。

您想要逐个字符地进行替换。这是一个例子:

Imports System.Collections.Generic
Imports System.Linq

Dim replacement = New Dictionary(Of Char, Char) From
{
{"b"c, "p"c},
{"i"c, "a"c},
{"k"c, "w"c},
{"e"c, "m"c}
}

Dim word = "bike"

'For each character, we select the replacement letter
Dim letters = word.Select(Function(c) replacement(c)).ToArray()

'Construct a new string with the replaced letters
Dim newWord = New String(letters)

关于vb.net - 如何及时替换文本框中的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52391566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com