I am working in classic ASP and have a string as below :
A
B
C
Now I want to split the string, I have tried vbCrLf, vbNewline , vblf and
but none of them work.
Please suggest me an alternative to split the string. I am in a bad fix.
I am working in classic ASP and have a string as below :
A
B
C
Now I want to split the string, I have tried vbCrLf, vbNewline , vblf and
but none of them work.
Please suggest me an alternative to split the string. I am in a bad fix.
Are you sure, you have newlines in the string?
First you can output all character codes to find out, by which character to split:
dim i, c
for i = 1 to len(my_string)
c = mid(my_string, i, 1)
Response.Write "CHAR: " & ASC(c) & " = " & c
next
Then you have 2 options:
If you can split by one character (e.g. char num 10), you can use:
a_result = split(my_string, CHR(10))
You can grab values out of your string by using regular expression matching. This is much overhead, but if all else fails, here is how you could do that:
function findStrings(s_text, s_pattern)
dim a_out, obj_regex, obj_matches
dim obj_match, n_index
set obj_regex = New RegExp
obj_regex.IgnoreCase = true
obj_regex.Global = true
obj_regex.MultiLine = true
obj_regex.Pattern = s_pattern
set obj_matches = obj_regex.execute(s_text)
if obj_matches.Count>0 then
redim a_out(obj_matches.Count-1)
n_index = 0
for each obj_match in obj_matches
a_out(n_index) = cvStr(obj_match.Value)
n_index = n_index + 1
next
end if
findStrings = a_out
set obj_regex = Nothing
end function
a_result = findStrings(my_string, "\w+")
This assumes, that there is no whitespace in the strings you are looking for.
This happens more often than you think, you need to remove the vbcr first then replace only vblf and forget about spliting on vbcrlf because it wont work for 100% of the user envrioments out there.
A
B
C
' assuming about is in the variable str
split(replace(str,vbcr,""),vblf)