リストボックスから悪い言葉を削除する方法を教えてもらえますか?
例 "Sh*t hats" というアイテムがありますが、"Sh*t" を何も置き換えません。これどうやってするの?私は試した:
ListBox1.Items.Item(1).remove("Sh*t")
ListBox 項目を追加する方法によって異なります。それらが単なる文字列である場合、これは機能するはずです。
For i = 0 To ListBox1.Items.Count - 1
If ListBox1.Items(i).ToString.Contains("badword") Then
ListBox1.Items(i) = ListBox1.Items(i).ToString.Replace("badword", "")
End If
Next
(大文字と小文字が区別されることに注意してください)、使用できますListBox1.Items(i) = ListBox1.Items(i).ToString.ToLower.Replace("badword", "")
が、これは、変更されたアイテムがすべて小文字に変換されることを意味します。
この例では、不適切な単語を含む文字列のジェネリック リストを作成し、リスト ボックスをループして、不適切な単語リストと比較し、見つかった場合は削除します。
Dim BadWords As New List(Of String)
BadWords.Add("poop")
BadWords.Add("crap")
For Each li As ListItem In Me.ListBox1.Items
If BadWords.Contains(li.Text) Then
li.Text = ""
End If
Next
は反復ごとli
に要素の実際のインスタンスであるListBox's
ListItem
ため、その場で変更すると、リスト内の要素も更新されます。