例如:
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 stringtstr=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 '文本框返回最后不是空格的所有字符
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)