ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Extracting the Nth element from a String (https://www.excelbanter.com/excel-programming/407814-extracting-nth-element-string.html)

dan

Extracting the Nth element from a String
 
I am using John Walkenbach function to extract the Nth element from a string:
this is working fine in most cases bit not when one of my Separator is
char(10) --- the end of a line, any idea?

Many thanks,
Dan

Function EXTRACTELEMENT(Txt, n, Separator) As String
' Returns the nth element of a text string, where the
' elements are separated by a specified separator character
Dim AllElements As Variant
AllElements = Split(Txt, Separator)
EXTRACTELEMENT = AllElements(n - 1)
End Function

Peter T

Extracting the Nth element from a String
 
Maybe this will explain

Sub test()
Dim i As Long, s As string

s = "A" & vbCr & "B" & vbLf & "C" & vbNewLine & "D"
For i = 1 To Len(s)
Debug.Print i, Asc(Mid(s, i, 1))
Next

s = Replace(s, vbCr, vbLf)
s = Replace(s, vbLf & vbLf, vbLf)

Debug.Print
For i = 1 To Len(s)
Debug.Print i, Asc(Mid(s, i, 1))
Next

s = Replace(s, vbCr, vbLf)

arr = Split(s, Chr(10))
For i = 0 To UBound(arr)
Debug.Print arr(i)
Next

End Sub

Ctrl-g to view the Immediate window

Of course don't use as written if your string might have double line breaks.

Regards,
Peter T

"Dan" wrote in message
...
I am using John Walkenbach function to extract the Nth element from a

string:
this is working fine in most cases bit not when one of my Separator is
char(10) --- the end of a line, any idea?

Many thanks,
Dan

Function EXTRACTELEMENT(Txt, n, Separator) As String
' Returns the nth element of a text string, where the
' elements are separated by a specified separator character
Dim AllElements As Variant
AllElements = Split(Txt, Separator)
EXTRACTELEMENT = AllElements(n - 1)
End Function





All times are GMT +1. The time now is 12:23 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com