输入:任意字符串 string类型
输出:该字符串的顺序所有不重复的组合
方法:截取字符串(要被截取的字符串 string类型,截取的方法 string类型)
返回:字符串数组 string()类型
Public Function 截取字符串(ByVal 字符串 As String, ByVal 截取方式 As String)
Dim 获取字符串 As String = 字符串
Dim 新的字符串 As String = ""
Dim 开始位置 As Integer = 1
Dim 截取长度 As Integer = 1
If 截取方式 = "所有组合" Then
While 截取长度 < 字符串.Length + 1'使用双循环来获得字符串的所有不限长度的顺序组合
While 开始位置 < 字符串.Length + 1
If 截取长度 + 开始位置 < 字符串.Length + 2 Then'当截取的字符串长度小于截取的最长字符串时执行,否则放弃,以免重复截取.
If InStr(新的字符串, Mid(字符串, 开始位置, 截取长度)) = 0 Then'确定输入的字符串没有重复的字,当不为零时说明已经存在了,跳过.等于0表示不存在.
新的字符串 = 新的字符串 & Mid(字符串, 开始位置, 截取长度) & vbCrLf'所有不重复的组合
End If
End If
开始位置 = 开始位置 + 1
End While
截取长度 = 截取长度 + 1
开始位置 = 1
End While
Dim 获取输入的字符串组合数组() As String = Split(新的字符串, vbCrLf)'这句为输出的字符串的所有组合数组
Return 获取输入的字符串组合数组
End If
Return "错误:没有定义输出"
End Function