VB 从一个文件中读取了一个定长字符串,如何去掉后面的空格?
在程序中从一个文件中读取了一个定长字符串,想去掉它后面的空格,可是用了RTrim,LTrim,Trim三个函数都去不掉后面的空格。请问谁有办法掉它后面的空格,还有别的方法...
在程序中从一个文件中读取了一个定长字符串,想去掉它后面的空格,可是用了RTrim,LTrim,Trim三个函数 都去不掉后面的空格。请问谁有办法掉它后面的空格,还有别的方法吗?我是无能为力了,请大侠帮忙解决下!我的邮箱里有源码 账号: ttihaha@163.com 密码:hahagogo 我QQ271072330先谢了~
ljl88900 - 探花 十级 你的答案 还有一个空格没去掉,不知为什么?请大家帮帮忙哦! 展开
ljl88900 - 探花 十级 你的答案 还有一个空格没去掉,不知为什么?请大家帮帮忙哦! 展开
8个回答
展开全部
定长字符串你没有理解。一个定长字符串,比如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
首先你要理解字符和字符串的区别,字符是一个一个的,字符串是一组字符组成的。
其次,空字符的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
展开全部
这样改:
'自定义结构类型
Private Type FILEITEM
PN As String * 20 '图片的名字
End Type
Dim s As FILEITEM '定义一个结构变量
Dim f As String
'获取字符串
Private Sub Command1_Click()
'打开文件
Open App.Path & "\1.MP3" For Binary As #1
Get #1, , s.PN '获取名字
Close #1
'显示
f = "你好" & Replace(s.PN, Chr(32), "") & ".bmp" '如何去掉中间的空格?
Cls
Print f
End Sub
'自定义结构类型
Private Type FILEITEM
PN As String * 20 '图片的名字
End Type
Dim s As FILEITEM '定义一个结构变量
Dim f As String
'获取字符串
Private Sub Command1_Click()
'打开文件
Open App.Path & "\1.MP3" For Binary As #1
Get #1, , s.PN '获取名字
Close #1
'显示
f = "你好" & Replace(s.PN, Chr(32), "") & ".bmp" '如何去掉中间的空格?
Cls
Print f
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如说
dim a as string*20
读取前先用空格填满
a=space(20)
'读取
b=trim(a)
dim a as string*20
读取前先用空格填满
a=space(20)
'读取
b=trim(a)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Trim(str)即可.
有的是换行符号.看上去同空格
有的是换行符号.看上去同空格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是你的定长字符串后面是全角的空格?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询