RichTextBox类型的输出&删除重复项

时间:2016-04-24 16:50:24

标签: vb.net

我正在尝试制作一个小的VB程序,以删除重复的行和纯文本中的空行 我有RichTextBox输入,但最终我不知道返回对象的类型是什么,是数组还是列表?

此外,我正在尝试找到从大纯文本中删除重复行的最有效方法,在Python中我这样做:

lines_nodupes = {} 
for elt in lines :
lines_nodupes[elt] = ""

由于你不能拥有两次相同的密钥,所以line_nodupes dictionnary中不会保留重复项,我可以枚举它来访问这些行。

1 个答案:

答案 0 :(得分:1)

您可以使用两个属性:

  1. Lines将返回一个字符串数组
  2. Text会将整个文本作为字符串
  3. 返回

    请参阅MSDN中的RichTextBox

    如果你想在Python中这样做:

    Dim noDup as new Dictionary(Of String, String)
    
    For Each line in MyRichTextBox.Lines
        if not noDup.ContainsKey(line) then
            noDUp.add(line, "")
        End if
    Next
    

    您也可以这样做(正如Visual中的VisualVincent所建议的那样):

    Dim noDup as new List(Of String)
    
    For Each line in MyRichTextBox.Lines
        if not noDup.Contains(line) then
            noDUp.add(line)
        End if
    Next
    

    这有点慢,但除非你有很长的项目列表,否则不会看到差异。