ASP之Split将字符串转换为数组正确获取数组下标值

  将数据使用间隔字符串存储可以减少少写几个数据库字段,也方便以后对扩展数据。

    比如:在论坛中用户的性格有多重性格、乐天达观、成熟稳重、幼稚调皮、温柔体贴等等,他们分别对应的值为0、1、2、3、4,在存储这些数据时使用间隔字符串,将数据存储到一个文本字段中。数据存储格式为:0|2|3|4|。

    而在使用间隔字符串分隔各项数据时,0|2|3|4|0|2|3|4在使用Split函数对其进行分隔的时候产生的数组最大下标值是不同的,往往在不注意的时候会在最右侧多写一个间隔字符。这样在输出的时候就会多遍历一个数据,为了避免这种情况的发生,就要对字符串进行检测。

   思路:

    1.检测右侧是否存在间隔字符串,如果存在则需要将数组最大下标值减一

    2.如果不存在则直接返回原数组最大下标

   代码:

Dim  TempStr,TempArr,TempItem
TempStr
= " 第一项1|第二项1|第三项| "
TempArr
= Split (TempStr, " | " )
Response.Write TempStr
& " <br /> "
For  TempItem = 0   To  UBoundStrToArr(TempStr, UBound (TempArr), " | " )
    Response.Write TempArr(TempItem)
& " <br /> "
Next
' *************************
'
函数:UBoundStrToArr
'
作用:检测原字符串转换为数组的最大下标值
'
参数:cCheckStr(需要检测的字符串)
'
      cUBoundArr(生成数组的最大下标值)
'
      cSpaceStr(间隔字符串)
'
返回:数组的最大下标值
'
************************
Public   Function  UBoundStrToArr(ByVal cCheckStr,ByVal cUBoundArr,ByVal cSpaceStr)
    
If   Instr (cCheckStr,cSpaceStr) = 0   Then
        UBoundStrToArr
= cUBoundArr
        
Exit   Function
    
End   If
    
Dim  TempSpaceStr,UBoundValue
    TempSpaceStr
= Mid (cCheckStr, Len (cCheckStr) - Len (cSpaceStr) + 1 ' 获取字符串右侧间隔字符
     If  TempSpaceStr = cSpaceStr  Then   ' 如果字符串最右侧存在间隔字符,则下标值需要-1
        UBoundValue = cUBoundArr - 1
    
Else
        UBoundValue
= cUBoundArr
    
End   If
    UBoundStrToArr
= UBoundValue
End Function
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值