格式化一字符串,条件是从左边第一个字符开始到第35个字符时在其后面加一个符号“*”,以些类推一直到最后!但是如果字符串中有回车符其后也要加一个“*”,就是会出现两种情况如果没有回车符正常会到第35个字符开始加“*”
也可能会不到35个字符就会加“*”,然后再从其后算起…………

解决方案 »

  1.   

    Dim strFormat As String
    Dim I As IntegerstrFormat = Left(需要格式化的字符串)
    For I = 36 To Len(需要格式化的字符串) Step 35
        strFormat = strFormat  & "*" & Mid(需要格式化的字符串, I, 35)
    Next
    If Len(需要格式化的字符串) Mod 35 = 0 Then
        strFormat = strFormat  & "*"
    End If
    strFormat = Replace(strFormat, vbCrlf, vbCrlf & "*"))
      

  2.   

    private function prvCnvStr(byval strString as string)
    dim intCharCount as integer'用来数个数
    dim intk as integer'用于循环
    dim strResult as string'用于存储结果
    dim strChar as string'用于存储当前字符
    intCharCount=0
    for intk=1 to len(strString)
    strChar=mid(strString,intk,1)
    if intCharCount=35 or strChar=vbCrLf  then
      strResult=strResult & strChar & "*"
      intCharCount=0
    else
      strResult=strResult & strChar
    end if
    prvCnvStr=strResult
    next intk
    end function
    你试下成不成,我不是又给人做作业了吧。
      

  3.   

    if intCharCount=35 or strChar=vbCrLf  then
      strResult=strResult & strChar & "*"
      intCharCount=0
    else
      strResult=strResult & strChar  
    end if
    intCharCount=intCharCount+1'刚才这里漏了。
      

  4.   

    谢谢以上各位啦,可能我没说明白!问题搞定,代码如下:要注意的是回车符是占2个长度,用for循环会有问题,所以没办法情况下替掉了回车!
    Private Sub Command1_Click()
        Dim str As String
        Dim str1 As String
        Dim i, j As Integer
        j = 0
        str = "aaaaaab" & vbNewLine & "aaaaaaaaaaaaaaaaaaaaaaaaaaab" & vbNewLine & "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"
        str = Replace(str, vbNewLine, "^")
        For i = 1 To Len(str)
            If j = 35 Then
                str1 = str1 & "*"
                j = 0
            End If
            If Mid(str, i, 1) = "^" Then
                str1 = str1 & "*"
                j = 0
            End If
            str1 = str1 & Mid(str, i, 1)
            j = j + 1
        Next
        str1 = Replace(str1, "^", "")
    End Sub
      

  5.   

    如果你用Split函数会简单很多。