2016-05-04 4 views
0

Я конкатенация hlinks, полученной от слова делатьКак избежать первого экземпляра данных при конкатенации

data = data & "," & Vbcr & hlnk.Address & ":" & hlnk.TextToDisplay 

Здесь «» разделитель.

Теперь я получаю каждый раз, когда данные, начиная с «» (очевидно)

Затем я использую

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

Но я сомневался, мой метод конкатенации. Я использую правильный метод конкатенации строк на первом месте?

Я видел ASP classic - how do I join an array of strings/join/implode do not work но не думаю, что это мое дело. Я не присоединяюсь к массиву, но создаю его.

+0

Так в чем проблема? – Fred

+0

ma Я делаю строку конкатенации правильно на первом месте? – Rahul

+1

Возможный дубликат [ASP classic - как я могу присоединиться к массиву строк/join/implode не работает] (http://stackoverflow.com/questions/15113216/asp-classic-how-do-i-join-an -array-of-strings-join-implode-do-not-work) ... в смысле: должны отвечать ответы, соответствующие этой проблеме. – Filburt

ответ

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) 
+0

Думал, что ты был спокоен ... – Lankymart

Смежные вопросы