用 Like
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上1000家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為孝南企業(yè)提供專(zhuān)業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),孝南網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
% = 任意數(shù)量的字符
?= 單個(gè)字符
類(lèi)似簡(jiǎn)易的正規(guī)則比對(duì)。
具體可參照MSDN
例:(以下代碼可以直接放到程序里執(zhí)行)
dim str as string
str = "abc123"
if str like "a%" then msgbox "yes"
if str like "%a%2%" then msgbox "yes"
if str like "%3" then msgbox "yes"
if str like "%3?" = false then msgbox "no"
vb.net規(guī)定如果要比較字符串,不能用“=”,strcomp(str1,str2,n)或者string.compare(str1,str2)
例如:
Dim a As String = "c"
Dim b As String = "c"
Dim n As Integer = String.Compare(a, b)
If n = 0 Then
MsgBox("=")
Else
MsgBox("")
End If
VB中的字符串比較實(shí)際上是從左到右逐個(gè)比較ASCII碼,如果兩個(gè)字符串的ASCII相等說(shuō)明字符串相等. 實(shí)際的比較可以直接用
str1="abcde"
str2=inputbox()....
If str1=str2 then
Print 相等
Else
Print 不相等
end if
Function?xsd(s1?As?String,?s2?As?String)?As?Double
Dim?d()?As?Integer,?l1?As?Integer,?l2?As?Integer
Dim?i?As?Integer,?j?As?Integer,?t?As?Integer
l1?=?Len(s1)
l2?=?Len(s2)
ReDim?d(l1,?l2)
For?i?=?0?To?l1
d(i,?0)?=?i
Next
For?i?=?0?To?l2
d(0,?i)?=?i
Next
For?i?=?1?To?l1
For?j?=?1?To?l2
If?Mid(s1,?i,?1)?=?Mid(s2,?j,?1)?Then
t?=?0
Else
t?=?1
End?If
d(i,?j)?=?min3(d(i?-?1,?j?-?1)?+?t,?d(i,?j?-?1)?+?1,?d(i?-?1,?j)?+?1)
Next
Next
If?l1??l2?Then
xsd?=?l1
Else
xsd?=?l2
End?If
xsd?=?1?-?d(l1,?l2)?/?xsd
End?Function
Function?min3(x1,?x2,?x3)
If?x1??x2?And?x1??x3?Then
min3?=?x1
ElseIf?x2??x3?And?x2??x1?Then
min3?=?x2
Else
min3?=?x3
End?If
End?Function
Private?Sub?Command1_Click()
MsgBox?"相似度:"??FormatPercent(xsd(Text1.Text,?Text2.Text),?2,?vbTrue)
End?Sub
在Text1和Text2分別輸入一段文字,再點(diǎn)Command1就會(huì)告訴你兩段文字的相似度了。