标题:字符串如何去重复?
取消只看楼主
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
结帖率:89.13%
 问题点数:0 回复次数:3 
字符串如何去重复?
字符串示例:ace2iit、ace2iit、、ace2iit、
去重复后为:ace2iit、

[此贴子已经被作者于2023-2-19 18:28编辑过]

搜索更多相关主题的帖子: 示例 字符串 重复 
2023-02-19 11:27
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
回复 2楼 冬瓜汤
感谢,已解决。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2023-02-20 18:47
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
VBS版的,稍调试就是VB6版的。

TestStr = "abcd、3、、abcd、"
Result = ""
For i = 1 To Len(TestStr)
  If InStr(1, Result, Mid(TestStr, i, 1), 1) > 0 Then
  TestStr = Replace(TestStr, Mid(TestStr, i, 1), "")
  'MsgBox TestStr
  Else
   Result = Result + Mid(TestStr, i, 1)
  End If
Next
MsgBox Result

MyTest = ""
For k = 1 To Len(Result)
  resk = Mid(Result, k, 1)
  Value = 0
  For t = 1 To Len(TestStr)
     Rest = Mid(TestStr, t, 1)
     If resk = Rest Then
       Value = Value + 1
     End If
  Next
  MyTest = MyTest & "字符串为" & resk & " 次数为:" & Value & vbCrLf
Next
MsgBox MyTest

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2023-02-23 05:19
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
以下是引用kings12333在2023-2-23 21:38:39的发言:

数组+字典 如何实现?

   
   
这个算法使用了一个字典对象来存储数组中的元素。首先创建一个空的字典对象,然后遍历数组中的每个元素。如果字典中不存在该元素,则将该元素添加到字典中,并将其值设为 1。最后,将字典中的键(即不重复的元素)赋值给原数组。
这个算法的时间复杂度为 O(n),因为只需要遍历一次数组,并且字典的添加和查找操作的时间复杂度为 O(1)。同时,这个算法也不需要使用额外的空间来存储删除后的数组,因为直接将字典中的键赋值给原数组即可。

Private Sub RemoveDuplicates(ByRef arr() As Variant)
    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")
   
    Dim i As Long
    For i = LBound(arr) To UBound(arr)
        If Not dict.Exists(arr(i)) Then
            dict.Add arr(i), 1
        End If
    Next i
   
    arr = dict.Keys
End Sub

Private Sub Form_Load()
Dim arr() As Variant
arr = Array(1, 2, 3, 2, 4, 5, 3)
RemoveDuplicates arr
For Each i In arr
MsgBox i
Next
End Sub

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2023-03-28 21:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511337-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053911 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved