vb怎样过滤掉重复的数字和不是数字的内容,并保留其中百分之十?
如下代码可以过滤掉重复的数字和不是数字的内容。如何修改,使代码过滤掉重复的数字和不是数字的内容后,只保存过滤数据中30%的内容?比如。过滤后有100个数字,保存到文本文件...
如下代码可以过滤掉重复的数字和不是数字的内容。如何修改,使代码过滤掉重复的数字和不是数字的内容后,只保存过滤数据中30%的内容?比如。过滤后有100个数字,保存到文本文件中的数字是其中前30个(也可以是其中任意30个)。
Option Explicit
Private Sub Command1_Click()
Dim arr, mark, dic, i
mark = "zhidao"
arr = "京(6699) 上海(4789) 美国(87968)……(6699)……当然并不(123)都是怎(456)样把"
arr = fc(arr, mark)
Set dic = CreateObject("scripting.dictionary")
For i = LBound(arr) To UBound(arr)
If Not dic.Exists(arr(i)) Then dic.Add arr(i), ""
Next
arr = dic.keys
Print Join(arr)
Open "c:\a.txt" For Output As #1
Print #1, Join(arr)
Close #1
Set dic = Nothing
End Sub
Function fc(s, mark)
Dim arr, brr(), i, n, str
If InStr(s, "(") > 0 Then
arr = Split(s, "(")
For i = 0 To UBound(arr)
If InStr(arr(i), ")") > 0 Then
str = Split(arr(i), ")")(0)
If IsNumeric(str) Then
ReDim Preserve brr(n)
brr(n) = Split(arr(i), ")")(0) & mark
n = n + 1
End If
End If
Next
End If
fc = brr
End Function 展开
Option Explicit
Private Sub Command1_Click()
Dim arr, mark, dic, i
mark = "zhidao"
arr = "京(6699) 上海(4789) 美国(87968)……(6699)……当然并不(123)都是怎(456)样把"
arr = fc(arr, mark)
Set dic = CreateObject("scripting.dictionary")
For i = LBound(arr) To UBound(arr)
If Not dic.Exists(arr(i)) Then dic.Add arr(i), ""
Next
arr = dic.keys
Print Join(arr)
Open "c:\a.txt" For Output As #1
Print #1, Join(arr)
Close #1
Set dic = Nothing
End Sub
Function fc(s, mark)
Dim arr, brr(), i, n, str
If InStr(s, "(") > 0 Then
arr = Split(s, "(")
For i = 0 To UBound(arr)
If InStr(arr(i), ")") > 0 Then
str = Split(arr(i), ")")(0)
If IsNumeric(str) Then
ReDim Preserve brr(n)
brr(n) = Split(arr(i), ")")(0) & mark
n = n + 1
End If
End If
Next
End If
fc = brr
End Function 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询