「a」の最初のインスタンスのみを に置き換えようとしていますfirst second third
。次に、ループして "a" の 2 番目のインスタンスを新しく生成された値に置き換え、first second third
"a" の文字がなくなり、それぞれの "a" が異なる値になるまでこのループを続けます。ただし、出力の結果は正しくありません。このコードは、最後の「a」の前のすべての文字を消去してから、最後の「a」を置き換えています。
Dim message As String
Dim start As Integer = 1
Dim letterfinder As String
Dim timesLooped As Integer = 1
Dim length As Integer
Dim first As Integer
Dim second As Integer
Dim third As Integer
Dim count As Integer = 1
message = inputBox.Text
length = Len(message)
timesLooped = 0
While length > timesLooped
Dim random As New Random
letterfinder = Mid$(message, start, 1)
If letterfinder = "a" Then
first = random.Next(3, 9)
second = 1 \ first
third = 1 - second
outputBox.Text = Replace(message, letterfinder, first & second & third, [start], [count])
End If
timesLooped = timesLooped + 1
start = start + 1
End While