2012-07-07

VBScript函數--字元字串處理--InStrRev傳回字串2在字串1從指定位置起反向搜尋(自右而左),首次出現的位置

InStrRev → 傳回字串2在字串1從指定位置起反向搜尋(自右而左),首次出現的位置
語法:InStrRev(string1,string2[,start[,compare]])
  1. string1:一定要輸入,此為被搜尋的字串。
  2. string2:一定要輸入,此為要搜尋的字串。
  3. start:搜尋字串2的搜尋起始位置,可不輸入,預設第1個字元為搜尋起點。但如果使用compare參數,就必須指定start起點。
  4. compare:可不輸入,比對的方式,預設為0(=vbBinaryCompare,二進位比對),另一個比對方式 1(=vbTextCompare,文字比對)
  5. 注意:參數位置的用法和InStr不一樣
InStrRev函數,特殊狀況下的傳回值:
  • 當string1為空字串""時,傳回0
  • 當string1為空值Null時,傳回空值Null
  • 當string2為空字串""時,傳為指定或預設的start值
  • 當string2為空值Null時,傳回空值Null
  • 如果在string1中找不到string2,傳回0
  • 如果比對起點start大於string1的長度,傳回0

函數字串1字串2起點比對執行函數寫法結果訊息
InStrRevstartt11InStr("start","t",1,1)0
InStrRevstartt21InStr("start","t",2,1)2
InStrRevstartt31InStr("start","t",3,1)2
InStrRevstartt41InStr("start","t",4,1)2
InStrRevstartt51InStr("start","t",5,1)5
InStrRevstartt61InStr("start","t",6,1)0
InStrRev
(如無法正常測試,建議使用IE瀏覽器)
<script language="vbscript">
  <!--
    sub run_instrrev()
        document.all("insr5").innerHTML = ""
        document.all("insr6").value = ""
        if not isNumeric(trim(document.all("insr1").value)) then
            document.all("lblinsr").innerHTML="起點錯誤!"
            document.all("insr1").value=""
            document.all("insr1").focus
            exit sub
        end if
        if trim(document.all("insr1").value)<>"" and trim(document.all("insr4").value)<>"" then
            document.all("insr5").innerHTML = _
                "InStrRev(" & chr(34) & document.all("insr2").value & chr(34) & "," &_
                chr(34) & document.all("insr3").value & chr(34) & "," &_
                 document.all("insr1").value &  "," &_
                document.all("insr4").value & ")"
            document.all("insr6").value = InStrRev(document.all("insr2").value ,_
                document.all("insr3").value,document.all("insr1").value,document.all("insr4").value)
            document.all("lblinsr").innerHTML = "成功!"
        else 
            document.all("insr1").value = ""
            document.all("insr2").value = ""
            document.all("insr3").value = "1"
            document.all("insr1").focus
            document.all("lblinsr").innerHTML = "錯誤!。"
        end if
    end sub
  -->
</script>
<br />
<table>
<tbody>
<tr>
    <td>函數</td><td>字串1</td><td>字串2</td><td>起點</td><td>比對</td><td>執行</td><td>函數寫法</td><td>結果</td><td>訊息</td>
</tr>
<tr>
    <td>InStrRev</td>
    <td><input id="insr2" name="insr2" size="6" type="text" /></td>
    <td><input id="insr3" name="insr3" type="text" style="width:20px" /></td>
    <td><input id="insr1" name="insr1" type="text" style="width:20px" value=1 /></td>
    <td><select id=insr4 name=insr4>
        <option value="0">0</option>
        <option value="1" selected>1</option>
    </select></td>
    <td><input id="btninsr" name="btninsr" onclick="run_instrrev()" type="button" value="Run" /></td>
    <td><label id="insr5" name="insr5"></label></td>
    <td><input type=text id="insr6" name="ins6r" style="text-align:center;width:25px" readonly></td>
    <td><label id="lblinsr" name="lblinsr"></label></td>
</tr>
</tbody> 
</table>

沒有留言:

張貼留言