0

if elseステートメントを使用せずに、Visual Basicで単語の中央の文字をどのように見つけますか?たとえば、テキストボックスに「STRENGTH」という単語を入力し、ボタンをクリックすると、テキストボックスにENが表示されます。SOSをテキストボックスに入れると、テキストボックスにOが表示されます。

4

1 に答える 1

0

何をしようとしているのかわかりませんが、これがうまくいくかどうかを確認してください。メソッドを使用しMidて文字列から文字を取得し、Math.Roundメソッドを使用して開始位置を設定Modし、Length + 1 を使用して、String.Length が偶数の場合、返される結果の長さに 1 を追加します。


関数を追加し、OPの質問にうまく対応するように変更された例。

Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        TextBox2.Text = middleOfString(TextBox1.Text)
    End Sub

    Private Function middleOfString(value As String) As String

        'Get start location of substring, if value.length is odd have we have to make sure the result of the division rounds up to the nearest integer
        Dim start As Integer = CInt(Math.Round(value.Length / 2, MidpointRounding.AwayFromZero))

        'Get length of substring 1 if value length is odd, 2 if value length is even
        Dim length As Integer = CInt((value.Length + 1) Mod 2) + 1

        Return Mid(value, start, length)

    End Function

End Class
于 2012-09-24T06:27:57.770 に答える