【原创LS程序 - 数组与字符串的相互转换

作用:
针对字符串和数组,通过制定的区分字符来转化。根据需要可将字符串以制定符号区分转为数组,获将数组按照制定符号组合成字符串。
程序如下Function array_str (para As Variant, separ As String, empty As String) As Variant
'=========================================================================================
'    This function is use to convert array and string    
'    para is the array or string, separ is the separate character.
'    if para is a string, the function will convert the para to array by the separate character
'    if para is array, the function will convert the para to string and connect each value by separate
'    empty mean if the value is empty, which character could replace it. it better doesn't use "" to do it since
'    in array, the null/empty could be removed.
'    for example : array(10) [1,2,3,4,5,6,7,8,9,0] and string [1:2:3:4:5:6:7:8:9:0]
'    array_str(array(10),":") = string
'    array_str(string,":") = array(10)
'    Programmer: Jacky Shu
'    Date: 2008-05-13
'   
'   
'=========================================================================================   
    On Error Goto sl
   
    Dim m,n As String
    Dim a() As Variant
    m = Ubound(para)
    n = 0
    If m = 0 Then ' non array
        If Not Isempty(para) Then
            array_str = empty
            Exit Function
        End If
        For x = 1 To Len(para)
            If Mid(para,x,1) = separ Then
                n = n + 1
            End If
        Next
        Redim a(n+1)
        For y = 0 To n
            a(y) = Strleft(para,separ)
            para = Strright(para,separ)
        Next
        a(n+1) = Strrightback(para,separ)
        array_str = a
        Exit Function
    Else    ' array
        array_str = ""
        Forall r In para
            array_str = array_str & Cstr(separ) & Cstr(r)
        End Forall
        array_str = Strright(array_str,separ)
        Exit Function
    End If
   
sl:
    Msgbox "Error message is : " & Error & Chr(13) & "Error at line : " & Erl
End Function
在Java中,可以使用压缩算法对字符串进行压缩以减少其长度。常见的压缩算法包括Gzip、Deflate和Bzip2等。通过对字符串进行压缩,可以减少字符串占用的内存空间,并在网络传输或存储时节省带宽和存储空间。压缩字符串的方法可以是通过统计连续出现的相同字符的次数来实现。首先,定义两个指针i和j,其中i指向字符串的首个字符,j向前遍历直到访问到不同的字符时停止。此时,j - i便是首个字符的连续出现次数。然后,从下个字符开始,重复以上操作,直到遍历完成。最后,将字符以及出现的次数添加到新的字符串对象中。将压缩后的字符串与原始字符串进行比较,返回长度较短的那个。在Java中,可以使用StringBuilder来创建新的字符串对象,使用charAt()方法获取字符串中的字符,通过append()方法将字符和出现次数添加到新的字符串中。最终,通过调用toString()方法将StringBuilder对象转换字符串。例如: ```java public String compressString(String S) { int i = 0, j = 0, ls = S.length(); StringBuilder res = new StringBuilder(); while (i < ls) { while (j < ls && S.charAt(i) == S.charAt(j)) { j++; } res.append(S.charAt(i)).append(j - i); i = j; } return res.length() < ls ? res.toString() : S; } ``` 以上是一个示例代码,可以通过调用compressString()方法来对字符串进行压缩。其中,参数S是待压缩的字符串,返回值是压缩后的字符串。在这个示例中,我们使用Gzip压缩算法对字符串进行压缩,得到压缩后的字节数组。然后,我们输出压缩前后的字符串长度,以便比较压缩效果。最后,我们使用Gzip压缩算法对压缩后的字节数组进行解压缩,得到解压缩后的字符串,并检查解压缩后的字符串是否与原始字符串一致。通过对字符串进行压缩,可以将字符串的长度变短。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值