2014年10月17日 星期五

ASP 使用instr及Mid函數,從字串中擷取某一段字串


<%
dim str_temp1,SEHM_s,SEHM_e,str_SEHM,new_temp1

'假設str_temp1是我自己儲存在資料庫裡的資料,而我要擷取的是SEHM=10:00~12:00這段資料
str_temp1="TEMP=ABCD;SEHM=10:00~12:00;TEMP2=EFGH;"

'搜尋SEHM在字串中的起始位置
SEHM_s=instr(str_temp1,"SEHM")  '搜尋出來的位置是11

'instr(參數1 ,參數2 ,參數3)
'參數1:從哪一個位置,開始搜尋
'參數2: 此處指的是str_temp1
'參數3:要搜尋的字串
SEHM_e=instr(SEHM_s,str_temp1,";")+1  '搜尋出來的位置是27再加1等於28,加1是為了取得分號(;)

'Mid擷取字串的函數; Mid(str_temp1, 起始位置 ,(SEHM_e-SEHM_s))
str_SEHM=Mid(str_temp1,SEHM_s,(SEHM_e-SEHM_s))
Response.write("取得SEHM:" & str_SEHM & "<br/>")

new_SEHM="SEHM=09:00~10:00;" '假設是變更後的資料
'============================
'法1.直接取代原本的字串
new_temp1=Replace(str_temp1,str_SEHM,new_SEHM)
'============================
'法2.先將原本找到的字串資料替換成空白,在最後面插入新的資料
'new_temp1=Replace(str_temp1,str_SEHM,"")
'new_temp1=new_temp1 & new_SEHM
response.write(new_temp1 & "<br/>")
%>