Vb.net 替换列表框中的坏单词

Vb.net 替换列表框中的坏单词,vb.net,string,replace,listbox,Vb.net,String,Replace,Listbox,有人能告诉我如何从列表框中删除这些不好的词吗 例如,我有一个项目“Sh*t帽子”,但我想将“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 ListB

有人能告诉我如何从列表框中删除这些不好的词吗

例如,我有一个项目“Sh*t帽子”,但我想将“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的
ListItem
元素的实际实例,因此随时修改它也会在列表中更新它

您可能需要该函数的副本。您可以手动执行此操作,方法是列出所有这些函数及其替换的值。使用
列表(字符串)
是一种有用的方法,但是我发现使用
列表框
时,我无法循环项目并使用类似的引用,因为项目无法正确更新,至于
ListItem
你指的是什么?我在发布之前测试了这段代码。是的,System.Web.UI.WebControl.ListItem是列表框中的项目。啊,我看到您在使用,而我在使用时,这可能是行为不同的原因。@Ahhh,我的坏哈哈哈,我正在使用WebMode。