替换ListBox中的坏词

时间:2013-08-14 21:00:14

标签: vb.net string replace listbox

有人能告诉我如何从列表框中删除坏词?

示例我有一个项目“Sh * t hats”但是我想用什么都不替换“Sh * t”。我怎样才能做到这一点?我试过了:

ListBox1.Items.Item(1).remove("Sh*t")

2 个答案:

答案 0 :(得分:0)

这取决于你如何添加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", ""),但这意味着任何已更改的项目都将全部变为小写。

答案 1 :(得分:0)

此示例创建一个包含坏词的字符串的通用列表,在列表框中循环,与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元素的实际实例,因此在那时修改它,也会在列表中更新它。