我在经典的 ASP 中工作,并且有一个字符串如下:
甲乙丙
_
_
现在我想拆分字符串,我尝试过 vbCrLf、vbNewline、vblf,
但它们都不起作用。
请建议我另一种拆分字符串的方法。我的情况很糟糕。
我在经典的 ASP 中工作,并且有一个字符串如下:
甲乙丙
_
_
现在我想拆分字符串,我尝试过 vbCrLf、vbNewline、vblf,
但它们都不起作用。
请建议我另一种拆分字符串的方法。我的情况很糟糕。
你确定,你的字符串中有换行符吗?
首先,您可以输出所有字符代码以找出要拆分的字符:
dim i, c
for i = 1 to len(my_string)
c = mid(my_string, i, 1)
Response.Write "CHAR: " & ASC(c) & " = " & c
next
然后你有2个选择:
如果你可以用一个字符分割(例如 char num 10),你可以使用:
a_result = split(my_string, CHR(10))
您可以使用正则表达式匹配从字符串中获取值。这是很大的开销,但如果所有其他方法都失败了,你可以这样做:
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+")
这假设您要查找的字符串中没有空格。
这种情况发生的频率比您想象的要多,您需要先删除 vbcr 然后只替换 vblf 并忘记在 vbcrlf 上进行拆分,因为它不适用于 100% 的用户环境。
A
B
C
' assuming about is in the variable str
split(replace(str,vbcr,""),vblf)