在传统的ASP分割字符串(Split string in classic asp)

2019-10-18 01:04发布

我在传统的ASP工作,有一个字符串,如下:

一种

C

现在我想分割字符串,我已经试过vbCrLf,vbNewline,vblf和
但他们没有工作。

请给我建议的替代拆分字符串。 我陷入了困境。

Answer 1:

你确定,你必须在字符串中的换行符?

首先,你可以输出的所有字符代码找出来,通过字符分割:

dim i, c

for i = 1 to len(my_string)
    c = mid(my_string, i, 1)
    Response.Write "CHAR: " & ASC(c) & " = " & c
next

然后,你有2种选择:

  1. 如果你可以通过一个字符分割(如焦炭NUM 10),你可以使用:

     a_result = split(my_string, CHR(10)) 
  2. 您可以通过使用正则表达式匹配抢你的字符串的值。 这是开销很大,但如果一切都失败了,这里是你如何能做到这一点:

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

这是假设,有你要找的字符串没有空格。



Answer 2:

这种情况多比你想象的,你需要先删除然后VBCR仅vblf替换,而忘记了劈裂上vbcrlf,因为它不会给用户envrioments的100%工作在那里。

A
B
C

' assuming about is in the variable str

split(replace(str,vbcr,""),vblf)


文章来源: Split string in classic asp