我正在使用一家名为Visma的公司的API。当我从他们的数据库中读取时,我需要在字符串中分配空格,具体取决于该字段中可以有多少个最大字符,以便从中读取。
这是这样的:
dim CustomerName as string
CustomerName = Space(50)
AdkGetStr(pData, ADK_CUSTOMER_NAME, CustomerName, 50)
我必须指定允许读取的字符数,问题是如果我读了一堆客户名,几乎所有字符都不会使用允许的最大字符数,我无法摆脱多余的字符数太空了。
我试图修剪并用“”替换“”,但没有结果。
然后我尝试输入一个名为“test”的客户,我知道这个字符串中的前4个字符是字母,第五个字符(5)是我无法摆脱的空间。
然后我做了这个测试:
CustomerName = Mid$(CustomerName, 5, 1)
'reading the first space after my customername
templength = Len(temp)
'templength is 1
在我的客户名之后有一个空格,长度为1,但看起来像这样:
我无法让我的MsgBox显示出来。看起来它比len = 1更长......并且它不等于制表符或空或null?这到底是什么?
字符串不可能是独一无二的,是吗?所以它必须等于某种东西......如果我知道那是什么,我可以从我的字符串中删除空格。
答案 0 :(得分:0)
如果您无法从数据库中获取字符串的长度,则必须通过搜索字符的位置来自行清理字符串:
Function CleanString(ByRef str As String) As String
Dim posNullChar As Long
posNullChar = InStr(1, str, vbNullChar)
If posNullChar > 0 Then
CleanString = Left$(str, posNullChar - 1)
Else
CleanString = str
End If
End Function