![]() |
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 |
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