vb 删除尾部空格

vb 删除尾部空格,第1张

用VB的函数RTrim就行。
例如:
a=rtrim("aabb ")(百度好像显示不出空格)
a为aabb。
还有Trim()为清除前后的空格,LTrim()为清除左边的空格。

定长字符串你没有理解。一个定长字符串,比如dim str as string 256,这个str变量里面就包含了256个空字符,而不是空格。
首先你要理解字符和字符串的区别,字符是一个一个的,字符串是一组字符组成的。
其次,空字符的Ascii码是0,而空格是32,在VB里表示为 Chr(0) 和 Chr(32)
在VB里,空字符也可以用常量 vbNullChar 来表示。而你提到的几个Trim的函数,去除的只是 Chr(32) 这样的空格符,而不是空字符,所以你不成功。
下面我给你写个函数示例:
Function CutNullChar(Optional ByVal SourceString As String = vbNullString) As String
Dim NullCharPostion As Long
NullCharPostion = InStr(SourceString, vbNullChar)
If NullCharPostion = 0 Then
CutNullChar = SourceString
Else
CutNullChar = Left(SourceString, NullCharPostion - 1)
End If
End Functiond Function

    
    trim 删除字符串前后空格,中间的空格不受影响
    
    s = " 123 123 "
    Print s; Len(s)
    Print Trim(s); Len(Trim(s))

你是要把连续多个空格,变换成只需要一个空格,那么:
do while Instr(tStr," ")<>0
tStr = Replace(tStr, " ", " ") '用一个空格,替换2个空格
loop

一个字符一个字符的判断,空格就删除,非空格就保留
一个字符一个字符的判断,空格就删除,非空格就保留
一个字符一个字符的判断,空格就删除,非空格就保留
一个字符一个字符的判断,空格就删除,非空格就保留
一个字符一个字符的判断,空格就删除,非空格就保留
一个字符一个字符的判断,空格就删除,非空格就保留

我有一个思路

把文本框的文本一个字符一个字符的判定,是空格键的一概删除

    dim str as string,Tstr as string,ttstr as string    
    tstr=text1text '读文本
    dim i as int
    if len(str)<1 then '判断文本长度
        exit if '无文本,不执行 *** 作
    else
        for i=1 to len(str) '逐个字符判断
            str=mid(tstr,i,1) '取第i个字符
            if str=" " then
                exit if '空格不 *** 作
            else
                ttstr=ttstr &str '不是空格连接字符至变量ttstr
            end if
        next i
    end if
    text1text=ttstr '文本框返回最后不是空格的所有字符


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13384557.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存