Vbscript 以最大长度和特定字符剪切字符串

Vbscript 以最大长度和特定字符剪切字符串,vbscript,Vbscript,我有一个字符串,其中包含以“;”分隔的值。不幸的是,程序不能接受超过4000个字符。所以,如果len大于4000,我应该每4000就削减一次 问题是我不能切割一个值。我很幸运,如果我在一个“;”切 那么,如何在不削减一个值的情况下获得少于4000的值呢?您可以从位置4000开始,然后反向工作,直到找到一个逗号。此代码创建一个测试字符串,但您可以将s值设置为任何值: Dim sValues Dim iCounter For iCounter = 1 To 1000 If sValues

我有一个字符串,其中包含以“;”分隔的值。不幸的是,程序不能接受超过4000个字符。所以,如果len大于4000,我应该每4000就削减一次

问题是我不能切割一个值。我很幸运,如果我在一个“;”切


那么,如何在不削减一个值的情况下获得少于4000的值呢?

您可以从位置4000开始,然后反向工作,直到找到一个逗号。此代码创建一个测试字符串,但您可以将
s值设置为任何值:

Dim sValues
Dim iCounter

For iCounter = 1 To 1000
    If sValues <> "" Then sValues = sValues & ","
    sValues = sValues & "value" & iCounter
Next

If Len(sValues) > 4000 Then

    For iCounter = 4000 To 1 Step -1
        If Mid(sValues, iCounter, 1) = "," Then
            ' Last comma before 4000 is found
            sValues = Left(sValues, iCounter - 1)
            Exit For
        End If
    Next

End If

MsgBox Right(sValues, 10)
Dim sValues
暗色计数器
对于iCounter=1到1000
如果S值为“”,则S值=S值&“
S值=S值&“值”&I计数器
下一个
如果Len(S值)>4000,则
对于iCounter=4000到1步骤-1
如果Mid(s值,i计数器,1)=“,”则
'找到4000之前的最后一个逗号
S值=左(S值,i计数器-1)
退出
如果结束
下一个
如果结束
MsgBox右侧(S值,10)
我显示最后10个字符以验证字符串是否被正确修剪


另一种方法是使用并重新构建字符串,直到它达到4000。

发布一些代码。很好!!拆分函数应该可以满足我的需要。我可以按“;”分割,并在循环中计算长度。