分离一串数字 [英] Separating A String Of Numbers

查看:97
本文介绍了分离一串数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用逗号和空格分隔每个第7个数字。


示例:


这就是我所拥有的

p>

12345BJ123452C12345421234542123454R123456Z123459O


这就是我想要的东西


12345BJ,123452C,1234542,1234542,123454R,123456Z,123459O


我希望如果它们最终出现在单个单元格中,但如果将它分成列,则可以。我想我之后可以把它们搞砸。



谢谢你


Aldo

解决方案

单程,

子测试()
Dim s1作为String,s2 As String
s1 =" 12345BJ123452C12345421234542123454R123456Z123459Oabc"
s2 = Every7th(s1)
Debug.Print s2
End Sub

函数Every7th(s1)As String
Dim i As Long,c As Long,n As Long
Dim j As Long,k As Long
Dim s2 As String
n = Len(s1)
c =(n - 1)\ 7
s2 =空格(n + c * 2)

对于i = 1到n
k = k + 1
j = j + 1
Mid


(s2,j,1)= Mid(s1,i,1)
如果k = 7且i< n然后
Mid


(s2,j + 1,2)=","
j = j + 2
k = 0
结束如果
下一个
Every7th = s2
结束函数


I want to separate every 7th number with a comma and space.

Example:

This is what I have

12345BJ123452C12345421234542123454R123456Z123459O

This is what I want

12345BJ, 123452C, 1234542, 1234542, 123454R, 123456Z, 123459O

I would prefer if they end up in a single cell but it's ok if it gets separated into columns. I guess I can concactenate them afterwards.

Thank you

Aldo

解决方案

One way,

Sub test()
Dim s1 As String, s2 As String
    s1 = "12345BJ123452C12345421234542123454R123456Z123459Oabc"
    s2 = Every7th(s1)
    Debug.Print s2
End Sub

Function Every7th(s1) As String
Dim i As Long, c As Long, n As Long
Dim j As Long, k As Long
Dim s2 As String
    n = Len(s1)
    c = (n - 1) \ 7
    s2 = Space(n + c * 2)

    For i = 1 To n
        k = k + 1
        j = j + 1
        Mid


(s2, j, 1) = Mid(s1, i, 1) If k = 7 And i < n Then Mid


(s2, j + 1, 2) = ", " j = j + 2 k = 0 End If Next Every7th = s2 End Function


这篇关于分离一串数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆