上午弟弟问我这个问题:有一段字符串
111111+22222+33333333+44444+55555+66666…
如何得到任意两个符号”+”之间的字符串,譬如
22222
或者
33333333
以下为代码全过程,函数为增强版,支持任意字符,只需要在调用的时候修改参数就OK了,代码注释中已经有描述:
新建工程在窗体上放置两个TextBox控件和一个Command控件,名称不需要修改默认就OK,分别名为:text1.text text2.text 和 command1
然后复制以下代码:
Private Sub Command1_Click()
Text2.Text = GetChar(Trim(Text1.Text), "+", 1, 3)
End Sub
'函数使用方法: getchar(mStr:原始字符,charX:规律字符,比如截取两段加号之间的那么就输入"+",
'BofNum: 起始字符位, EofNum: 终点字符位)
Private Function GetChar(mStr As String, charX As String, BofNum As Integer, EofNum As Integer) As String
Dim i As Integer '循环
Dim x As Integer '记录第几个"+"符号
Dim startNum As Integer 'MID函数截取开始位数
Dim endNum As Integer 'MID函数截取结束位数
For i = 1 To Len(mStr)
If x = EofNum Then Exit For '得到截取开始和结束位数则退出
If Mid(mStr, i, 1) = charX Then
x = x + 1
If x = BofNum Then '第一个为开始位置
startNum = i
ElseIf x = EofNum Then '第二为结束位置
endNum = i
End If
End If
Next i
'开始位置第一个是符号 需要移动一位 结束位置-开始位置=截取长度
'截取出来的两边各有符号 所以需要取舍
GetChar = Mid(mStr, startNum + 1, endNum - startNum - 1) '赋值
End Function
版权所有,转载时必须以链接形式注明作者和原始出处及本声明:KingLife@无忧岛
本文链接: http://www.islandcn.com/post/586.html
最近评论