|
本帖最后由 dongdonggege 于 2017-3-10 08:42 编辑
我有一个字符串,使用数组,我想把符合条件的合并。比如,有一个字符串为"Na2SO4",内部包含英文、数字,我想把大小写的英文合并。
条件:
1、连续两个英文都是大写的不合并
2、前一个是大写,后一个是小写的,把后一个合并到前一个。即brr(i)=arr(i-1) & arr(i)
最后结果为,brr(i)=Na,brr(i)=2,brr(i)=S,brr(i)=O,brr(i)=4
我写的程序为
- Sub test() '拆分字符
- Dim str$, arr, brr
- str = "Na2SO4" 'Na2SO4,Ca3(PO4)2
- ReDim arr(1 To Len(str))
- ReDim brr(1 To UBound(arr))
- For i = 1 To Len(str)
- arr(i) = Mid(str, i, 1)
- 'sm = Asc(arr(i))
- If 65 < Asc(arr(i)) < 90 Then '英文大写字母
- brr(i) = arr(i)
- ElseIf 97 < Asc(arr(i)) < 122 Then '英文小写字母
- brr(i) = arr(i - 1) & arr(i)
- ElseIf 48 < Asc(arr(i)) < 57 Then '数字
- brr(i) = arr(i)
- End If
- Next i
- MsgBox Join(brr, ",")
- End Sub
复制代码 我做的达不到要求,能修改吗?或请你重写,谢谢。
|
|