正則表達(dá)式:“第\S{1,3}次”
我們提供的服務(wù)有:網(wǎng)站制作、網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、下城ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的下城網(wǎng)站制作公司
1-3表示第和次之間可能存在1-3個(gè)字符。
For Each i In System.Text.RegularExpressions.Regex.Matches("你的內(nèi)容第一次第三次第十四次第七十七次替換為", "第\S{1,3}次")
MsgBox(i.value())
Next
有一個(gè)字符串函數(shù):Instr(n,S1,S2)
該函數(shù)的功能:從字符串S1的左起第N位開(kāi)始,向右逐位進(jìn)行搜索匹配字符串S2,如果找到匹配,就返回一個(gè)整數(shù)指明匹配的位置,否則就返回0。如果缺省n,就是默認(rèn)從字符串S1的左起第1位開(kāi)始,進(jìn)行搜索匹配字符串S2。
例如1:Instr(1,"abcde","a"),返回1
例如2:Instr(3,"abcde","a"),返回0
例如3:Instr(1,"abcde","c"),返回3
例如4:Instr(1,"abcde","cde"),返回3
例如5:Instr(4,"ab12cd12e12","12"),返回7,這里從字符串"ab12cd12e12"左起第4位開(kāi)始向右搜索匹配字符串"12",找到的是中間一個(gè)“12”,這個(gè)“12”是位于字符串"ab12cd12e12"左起的第7個(gè)字符。
而:Instr(1,"ab12cd12e12","12"),返回3
Instr("ab12cd12e12","12"),返回3
沒(méi)有這種函數(shù),自己做一個(gè)函數(shù),效率不會(huì)低,因?yàn)槎际呛?jiǎn)單運(yùn)算:
Function FillString(ByVal a As String, ByVal b As String, ByVal c As Integer) As String
If a.Length c Then
Return a + StrDup(c - a.Length, b)
Else
Return Mid(a, 1, c)
End If
End Function
用法 RndString(xx) xx為隨機(jī)數(shù)字長(zhǎng)度
比如12位長(zhǎng)度的隨機(jī)字符串 則為 RndString(12)
字符串包含數(shù)字和大小寫(xiě)字母,函數(shù)如下:
Function RndString(ByVal l As Integer) As String
Randomize()
Dim R, i As Integer
Dim S As Char
Dim returnStr As String
returnStr = ""
'a-z 的ASCII碼是:97-122
'A-Z 的ASCII碼是:65-90
'0-9 的ASCII碼是:48-57
For i = 1 To l
R = Int(Rnd() * 62) '隨機(jī)生成的字符有大小寫(xiě)字母和數(shù)字,共有26個(gè)
If R 10 Then '如果小于10,則是數(shù)字 數(shù)字的ASCII是48-57 對(duì)應(yīng) 隨機(jī)數(shù)字 0-9 所以要將隨機(jī)數(shù)字加48
S = Chr(R + 48) 'Chr 是將把數(shù)字按Ascii碼轉(zhuǎn)換為對(duì)應(yīng)的字符
ElseIf R 36 Then '如果小于36,則是大寫(xiě)字母 大寫(xiě)字母的ASCII是65-90 對(duì)應(yīng) 隨機(jī)數(shù)字10-35 所以要將隨機(jī)數(shù)字加55
S = Chr(R + 55)
Else '如果大于36,則是小寫(xiě)字母 小寫(xiě)字母的ASCII是97-122 對(duì)應(yīng) 隨機(jī)數(shù)字36-62 所以要將隨機(jī)數(shù)字加61
S = Chr(R + 61)
End If
returnStr = returnStr + S
Next
RndString = returnStr
End Function
很簡(jiǎn)單,用字符串查找函數(shù)就可以實(shí)現(xiàn)了。
當(dāng)在StrB查找到StrA字符串時(shí),返回肯定是非0的數(shù),值就是True,找不到為0或者-1,值就是Flase
比如:
Dim StrA As String = "Time is Limited"
Dim StrB As String = "Time"
Dim Stu As Boolean= InStr(StrA, StrB)
這運(yùn)行段代碼,Stu值就是True了。
我覺(jué)得這樣最簡(jiǎn)單有效。