我正在尝试制作一个小的VB程序,以删除重复的行和纯文本中的空行 我有RichTextBox输入,但最终我不知道返回对象的类型是什么,是数组还是列表?
此外,我正在尝试找到从大纯文本中删除重复行的最有效方法,在Python中我这样做:
lines_nodupes = {}
for elt in lines :
lines_nodupes[elt] = ""
由于你不能拥有两次相同的密钥,所以line_nodupes dictionnary中不会保留重复项,我可以枚举它来访问这些行。
答案 0 :(得分:1)
您可以使用两个属性:
Lines
将返回一个字符串数组Text
会将整个文本作为字符串请参阅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
这有点慢,但除非你有很长的项目列表,否则不会看到差异。