![]() |
|
|||||||
| 論壇說明 |
|
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
|
主題工具 | 顯示模式 |
|
|
#13 (permalink) |
|
長老會員
|
Public Function JetCountStrInstrTimesLocateRev%(ByVal JetSource$, ByVal JetFindStr$, Optional ByVal JetTimes%, Optional ByVal JetTempInstr%, Optional ByVal JetTrue_UCASE As Boolean)
' 目的:找出 參數1 中 “倒數” ((1)第 參數3 次 or (2) 參數4 之後) 參數2 出現的位置 ' ' 參照: ' 【Module】 ' (1) 本 Module 中的 JetGetStr_Replace$ ' ' ============================================================================= ' 參數一(JetSource$) :待找的大目標 ' 參數二(JetFindStr$) :待找的小目標 ' ----------------------------------------------------------------------------- ' 【(2)非必要參數】 ' 參數三(JetTimes%) :以 參數三 次 ==> 來判斷 ' 參數四(JetTempInstr%):省略掉 前參數四個字元 ' (◎當 參數三 = 0 才會有效) ' 參數五(JetTrue_UCASE):(是否) 分大小寫 ' ============================================================================= Dim JetFound%, JJJ% Dim JetSource_Temp$ JetSource_Temp$ = JetSource$ If Not JetTrue_UCASE Then ' ◎因為 不分大小寫,所以 先把 關鍵字的部份 JetFindStr$ 改成一致 (全大寫) JetSource$ = JetGetStr_Replace$(JetSource$, JetFindStr$, UCase(JetFindStr$), , True) End If ' (1)第 參數三 次 If JetTempInstr% = 0 Then If JetTimes = 0 Then JetTimes = 1 If Not JetTrue_UCASE Then JetFound = InStrRev(JetSource$, UCase(JetFindStr$)) Else JetFound = InStrRev(JetSource$, JetFindStr$) End If Do While (JetFound <> 0) And (JJJ + 1 <> JetTimes) JJJ = JJJ + 1 JetSource$ = Left(JetSource$, JetFound - 1) If Not JetTrue_UCASE Then JetFound = InStrRev(JetSource$, UCase$(JetFindStr$)) Else JetFound = InStrRev(JetSource$, JetFindStr$) End If Loop ' (2)參數四 之後 Else JetSource$ = Mid(JetSource, JetTempInstr% + 1) If Not JetTrue_UCASE Then JetFound = InStrRev(JetSource$, UCase$(JetFindStr$)) Else JetFound = InStrRev(JetSource$, JetFindStr$) End If Select Case JetTimes Case 0, 1 Case Else Do While (JetFound <> 0) And (JJJ + 1 <> JetTimes) JJJ = JJJ + 1 JetSource$ = Left(JetSource$, JetFound - 1) If Not JetTrue_UCASE Then JetFound = InStrRev(JetSource$, UCase$(JetFindStr$)) Else JetFound = InStrRev(JetSource$, JetFindStr$) End If Loop End Select End If JetCountStrInstrTimesLocateRev = JetFound End Function |
|
|
送花文章: 150,
|