请教一个问题,可能用正则解决起来很简单
简单的说就是要比较一下两个字符串,这两个字符串都是6位数字组成,比如123456和173458,我要判断这两个字符串里面有没有任意四位数字的位置和数字都相同,结果返回True和False即可。比如123456和173458中1?345?是符合匹配条件的就返回True。
这看似一个很简单的问题,我一时也没想到什么解决办法,用正则表达式的话是不是很简单啊?我不怎么懂正则,请朋友们帮一下忙写写代码,谢谢!!!
[解决办法]
Option ExplicitPrivate Sub Form_Load()Debug.Print CompareStr("1234567", "1837590")End SubPrivate Function CompareStr(ByVal Str1 As String, ByVal Str2 As String) As BooleanDim i As Integer, m As Integer, n As IntegerIf Len(Str1) > Len(Str2) Then m = Len(Str2) Else m = Len(Str1)For i = 1 To m If Mid(Str1, i, 1) = Mid(Str2, i, 1) Then n = n + 1 If n > 3 Then CompareStr = True: Exit FunctionNextCompareStr = FalseEnd Function