1

私は学校の VB プログラムに取り組んでいます。文字列から部分文字列を抽出するのに問題があります。助けていただければ幸いです。

フォームにはさまざまなテキスト ボックスがあり、そのうちの 1 つは、ユーザーの氏名を 1 つのテキスト ボックスに入力する場所です。計算ボタンを押すと、フォームのリストボックスは人の姓のみを表示するはずです。

テキストボックスに入力された名前の文字列の姓だけを抽出する方法がわかりません。

これまでに得たのは次のとおりです。

Dim name As String

name = txtName.Text

(txtName はテキスト ボックスの名前です)

さて、私は追加しました:

lstOut.Items.Add(name.Substring(6))

それは私のコードに。プログラムを実行したときに例として入力した名前は、Helen Woods でした。6 が部分文字列に含まれているのは、それがスペースの開始位置であり、compute をクリックすると、希望どおりに姓のみがリストされたためです。ただし、これは名前が 5 文字の場合にのみ機能します。プログラムが 2 つの名前の間のスペースを自動的に見つけられるようにする方法が必要です。

編集:

追加すると:

lstOut.Items.Add(name.IndexOf(""))

名前を入力して計算ボタンを押すたびに、リストボックスに 0 が表示されます。

4

1 に答える 1

0

これを試して:

Private Sub GetLastName()
  dim lsName as new List(Of String)
  dim name as string
  for each name in txtName.text.split(" ")
    lsName.Add(name)
  next
  lstOut.items.Add(lsName.item(lsName.count-1))
end sub

このプロシージャは、ボタン イベントで呼び出すことができます。

于 2013-09-27T02:37:57.420 に答える