如何在字符串连接时避免第一个数据实例

时间:2016-05-04 06:39:43

标签: vbscript

我是从单词do

获得的串联hlink
data = data & "," & Vbcr & hlnk.Address & ":" & hlnk.TextToDisplay

这里','是分隔符。

现在每次数据都以“,”(显然)

开头

然后我用

data = Right(data,Len(data)-1)

但我怀疑我的字符串连接方法。 我是否首先使用Right方法进行字符串连接?

我见过ASP classic - how do I join an array of strings / join / implode do not work,但我认为不是我的情况。我不是加入数组而是创建一个。

1 个答案:

答案 0 :(得分:3)

避免引导(或尾随)列表分隔符的规范方法是收集要在数组中连接的项,然后加入该数组。这可能是@Filburt将您的问题视为(边界)重复的原因。如果您事先不知道项目数量,则可以动态调整数组大小:

ReDim a(-1)
For Each hlnk In ...
  ReDim Preserve a(UBound(a)+1)
  a(UBound(a)) = hlnk.Address & ":" & hlnk.TextToDisplay
Next

填充数组后,您只需加入元素:

data = Join(a, "," & vbCr)

否则你需要处理第一个(或最后一个)元素与其余元素不同:

If IsEmpty(data) Then
  data = hlnk.Address & ":" & hlnk.TextToDisplay
Else
  data = data & "," & vbCr & hlnk.Address & ":" & hlnk.TextToDisplay
End If
完成构造字符串后,

或删除前导(尾随)分隔符:

data = Mid(data, 3)