Implode 는 Lotus Script 기본 Function 에 포함되어 있는 것을 사용하면 되고,
Explode 는 아래의 Function 을 추가해서 사용하면 된다.
%REM
fullString : Item 들이 들어있는 string 이며 ',' 혹은 ';' 등 separator 로 구분되어 진 것이다
separator: 위에서 설명한 separator 이다
empties: Trim 을 할것인지 결정한다
결과값의 갯수를 확인하기 위해서는
Dim List As Variant
Dim cnt As Integer
List = Explode(somestring, ",", 0)
cnt = 0
Forall v in List
cnt = cnt + 1
End Forall
을 Coding 하면 된다
separator 가 "," 이고, fullString = "abc,efg,,zzz" 의 경우 separator에 의해 4개의 Item 이 들어와야 하는데
세번째 것이 null string 이므로, 결과값은 다음과 같다
List(0) : "abc"
List(1) : "efg"
List(2) : "zzz"
즉, null string 이 변환되지 않아 3개의 string 만 분리되어 변환된다.
%END REM
Function Explode(fullString As String, separator As String, empties As Integer) As Variant
Dim fullStringLen As Integer
Dim lastPosition As Integer
Dim position As Integer
Dim x As Integer
Dim tmpArray() As String
If empties = False Then fullString = Trim$(fullString)
If separator = "" Then separator = " "
fullStringLen = Len(fullString)
lastPosition = 1
position = Instr(fullString, separator)
If position > 0 Then
x = 0
While position > 0
x = x+1
Redim Preserve tmpArray(x)
' The next entry in the array is going to be the part of the string from the
' end of the previous part to the start of the new part.
tmpArray(x-1) = Mid$(fullString, lastPosition, position - lastPosition)
If empties = False Then
' If the user does not want empties and there are consecutive separators,
' skip over the 2nd, 3rd, etc. instance of the separator.
While Mid$(fullString, position+Len(separator), Len(separator)) _
= Mid$(fullString, position, Len(separator))
position = Instr(position+Len(separator), fullString, separator)
Wend
End If
lastPosition = position + Len(separator)
position = Instr(position+Len(separator), fullString, separator)
Wend
tmpArray(x) = Mid$(fullString, lastPosition) ' Save everything after the last separator
If empties = False And Trim(tmpArray(x)) = "" Then
Redim Preserve tmpArray(x-1) ' Eliminate the last one if it's empty
End If
Else
Redim tmpArray(0)
tmpArray(0) = fullString
End If
Explode = tmpArray
End Function
'Lotus Notes > Lotus Designer' 카테고리의 다른 글
Lotus Script 로 Collection 이용하기 (0) | 2013.11.21 |
---|---|
@DbColumn, @DbLookup (0) | 2013.11.21 |
Lotus Domino ODBC 연결 (0) | 2013.11.05 |
Lotus Script - DB 양식에 쓰기 (0) | 2013.09.27 |
Lotus Script 텍스트 파일을 읽어서 처리하는 로직 (0) | 2013.09.26 |