可以把文章标题中的英文单词的首字母变成大写的函数

该博客介绍了一个将文章标题中英文单词首字母变成大写的功能。通过自定义函数PCase,对输入字符串进行处理,将单词拆分为数组,对每个单词进行大小写转换,同时处理特殊单词和标点后的单词,最后重新组合成字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

功能说明:

可以把文章标题中的英文单词的首字母变成大写:)

效果演示:

 

<%

function PCase(strInput)
     'Variable declaration.
     Dim strArr
     Dim tmpWord
     Dim tmpString
     Dim last
     
     
     'Create an array To store Each word In the String separately.
     strArr = split(strInput," ")
     
     
     if ubound(strArr) > 0 Then
      For x = lbound(strArr) To ubound(strArr)
       'Set Each word To lower Case initially.
       strArr(x) = LCase(strArr(x))
     
       
       'Skip the unimportant words.
       Select Case strArr(x)
        Case "a"
        Case "an"
        Case "and"
        Case "but"
        Case "by"
        Case "for"
        Case "in"
        Case "into"
        Case "is"
        Case "of"
        Case "off"
        Case "on"
        Case "onto"
        Case "or"
        Case "the"
        Case "to"
        Case "a.m."
         strArr(x) = "A.M."
        Case "p.m."
         strArr(x) = "P.M."
        Case "b.c."
         strArr(x) = "B.C."
        Case "a.d."
         strArr(x) = "A.D."
        Case Else
        
         'Capitalize the first letter, but don't forget To take into account that
         'the String may be in Single or Double quotes.
         if len(strArr(x)) > 1 Then
          if mid(strArr(x),1,1) = "'" or mid(strArr(x),1,1) = """" Then
           tmpWord = mid(strArr(x),1,1) & Ucase(mid(strArr(x),2,1)) & mid(strArr(x),3,len(strArr(x))-2)
          Else
           tmpWord = Ucase(mid(strArr(x),1,1)) & mid(strArr(x),2,len(strArr(x))-1)
          End if
          strArr(x) = tmpWord
         End if
         
       End Select
       
       
       'The unimportant words may need To be capitalized if they follow a dash, colon,
       'semi-colon, Single quote or Double quote.
       if x > 0 Then
        if instr(strArr(x-1),"-") _
        or instr(strArr(x-1),":") _
        or instr(strArr(x-1),";") Then
         tmpWord = Ucase(mid(strArr(x),1,1)) & mid(strArr(x),2,len(strArr(x))-1)
         strArr(x) = tmpWord
        End if
       End if
       
      Next
     Else
      strArr(0) = LCase(strArr(0))
     End if
     
     
     'Make sure the first word In the array is upper case, but don't forget To take into account
     'that the String may be in Single or Double quotes.
     if mid(strArr(0),1,1) = "'" or mid(strArr(0),1,1) = """" Then
      tmpWord = mid(strArr(0),1,1) & Ucase(mid(strArr(0),2,1)) & mid(strArr(0),3,len(strArr(0))-2)
     Else
      tmpWord = Ucase(mid(strArr(0),1,1)) & mid(strArr(0),2,len(strArr(0))-1)
     End if
     strArr(0) = tmpWord
     
     
     'Also, make sure the last word In the array is upper case, but don't forget To take into account
     'that the String may be in Single or Double quotes.
     last = ubound(strArr)
     if mid(strArr(last),1,1) = "'" or mid(strArr(last),1,1) = """" Then
      tmpWord = mid(strArr(last),1,1) & Ucase(mid(strArr(last),2,1)) & mid(strArr(0),3,len(strArr(last))-2)
     Else
      tmpWord = Ucase(mid(strArr(last),1,1)) & mid(strArr(last),2,len(strArr(last))-1)
     End if
     strArr(last) = tmpWord
     
     
     'Rebuild the whole String from the array parts.
     For x = lbound(strArr) To ubound(strArr)
      tmpString = tmpString & strArr(x) & " "
     Next
     
     PCase = tmpString
    End function
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值