0

次のコードは機能し、各行をリストボックスの行として単純に取得します。

Reader = IO.File.OpenText(textlocation)
Dim bookmarks() As String = Reader.ReadToEnd.Split(vbNewLine)
Dim i As Integer = 0

Do Until i = bookmarks.Length
  lstFavorites.Items.Add(bookmarks(i))
  i += 1
Loop

しかし、すべての行をテキスト ボックスに入れたくありません。「ブックマーク」というテキストを含む行だけをリストボックスに入れたい。これを達成するために何ができますか?考えられることはすべて試しました。

私が試したいくつかのコードを次に示します。問題は見られませんが、プログラムがクラッシュするようです。

Do Until i = bookmarks.Length
  If bookmarks(i).Contains("at") Then
    If radBookmarks.Checked Then
      If bookmarks(i).Contains("Bookmark") Then
        Original = bookmarks(i)
        BeginningOfDemoName = Original.Substring(Original.LastIndexOf("(") + 2)
        TickWithParenthesis = BeginningOfDemoName.Substring(BeginningOfDemoName.IndexOf(Chr(34)) + 4)
        Tick = TickWithParenthesis.Split(" ")(1).Split(")")(0)
        DemoName = BeginningOfDemoName.Split(Chr(34))(0)
        ToList = DemoName + " at " + Tick
        lstFavorites.Items.Add(ToList)
        i += 1
      Else
        i += 1
      End If
    ElseIf radEverything.Checked Then
      Original = bookmarks(i)
      BeginningOfDemoName = Original.Substring(Original.LastIndexOf("(") + 2)
      TickWithParenthesis = BeginningOfDemoName.Substring(BeginningOfDemoName.IndexOf(Chr(34)) + 4)
      Tick = TickWithParenthesis.Split(" ")(1).Split(")")(0)
      DemoName = BeginningOfDemoName.Split(Chr(34))(0)
      ToList = DemoName + " at " + Tick

      lstFavorites.Items.Add(ToList)
      i += 1
    End If
  End If
Loop
4

1 に答える 1

0

この行を変更してみてください

 If bookmarks(i).Contains("Bookmark") Then

 If bookmarks(i).IndexOf("Bookmark", 
                 StringComparison.CurrentCultureIgnoreCase) >= 0 Then

大文字と小文字を区別して比較を行い、入力文字列に小文字の「ブックマーク」が含まれている

于 2013-02-01T14:54:48.073 に答える